一,通用的数据存储结构:
1,数组:一种引用类型
2,有序数组:将数据进行了排序
3,链表:前一个链结点持有下一个链结点的引用
4,有序链表:对链表进行了排序
5,二叉树:既可以用链表来实现也可以用数组来实现
6,平衡树:简单来讲就是除最底层外所有节点的左右子节点个数相同
7,哈希表:也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表
二,专用数据结构:
1,栈:后进先出 LIFO(数组或链表)
2,队列:先进先出 FIFO(数组或链表)
3,优先级队列:(有序数组或堆)
三,排序算法:一句话总结
1,冒泡排序:交换位置找出最大的;
2,选择排序:找出最小的记录,并与左端的交换位置;
3,插入排序:右端访问的数据与左端局部有序的数据进行比较,插入移位;
4,希尔排序:间隔排序,移位间隔排序,减少间隔,递归;
5,快速排序:划分,两端往枢纽处遍历,遇到合适的位置进行交换,对枢纽两端再递归;
6,归并排序:二分法,分成俩个区域,递归对俩个区域排序,再合并;
7,堆排序:把无序数组插入堆,然后有序remove;
四,搜索算法:
1,广度搜索算法:是指没有目的,全部搜索;
2,深度搜索算法:不达目的誓不罢休,遇到死胡同返回继续深度算法;
3,启发式搜索算法:在每次搜索时,建立一套规则,f(x) = g(x) + h(x),找到最合适的那个继续搜索,过程中会建立俩个区域,一个是开放区域,一个关闭区域,这两个区域顾名思义,前者可以继续搜索,后者关闭不去再次搜索;
A*、B*、蚁群算法属于启发式搜索(趋势效应);
五,游戏常用算法:
1,寻路算法:A*、B*
2,追踪算法、拦截追踪算法
3,闪避算法、高级躲避算法
相关推荐
### Java数据结构与算法知识点概览 #### 一、Java与面向对象程序设计 本章节主要介绍了Java语言的基础知识以及...以上内容全面覆盖了“java数据结构和算法”这一主题的主要知识点,为读者提供了一个系统的学习框架。
根据提供的文件信息,我们可以归纳出该书《数据结构与算法分析_java语言描述》的主要知识点及其相关内容。本书由Mark Allen Weiss撰写,是计算机科学领域内学习数据结构与算法的经典教材之一。接下来,我们将按照各...
### Java数据结构与算法知识点概览 #### 一、Java与面向对象程序设计 ##### 1.1 Java语言基础知识 - **基本数据类型及运算**:介绍Java中的基本数据类型,如整型(`int`, `long`, `short`, `byte`)、浮点型(`...
### JAVA算法和数据结构知识点概览 #### 一、Java与面向对象程序设计 ##### 1.1 Java语言基础知识 - **基本数据类型及运算**:介绍了Java中的基本数据类型,包括整型(如`byte`, `short`, `int`, `long`)、浮点...
### 数据结构与算法 JAVA 语言描述 #### 一、Java与面向对象程序设计 ...通过对这些知识点的学习,读者可以全面了解数据结构与算法的基本理论和实践技巧,并掌握如何使用Java语言来实现这些算法和数据结构。
### Java经典算法与数据结构知识点概述 #### 一、Java与面向对象程序设计 ##### 1.1 Java语言基础知识 - **基本数据类型及运算**:介绍了Java中的基本数据类型,包括整型(如`byte`, `short`, `int`, `long`)、...
### 数据结构与算法(JAVA语言版)(中文版) #### 一、Java与面向对象程序设计 本章节作为开篇,旨在为读者打下坚实的Java编程基础,为后续深入学习数据结构与算法奠定理论基石。 ##### 1.1 Java语言基础知识 *...
### 数据结构与算法 #### 一、Java与面向对象程序设计 **1.1 Java语言基础知识** - **基本数据类型及运算**:介绍Java中的基本数据类型(如int、double等)及其支持的算术运算。 - **流程控制语句**:包括条件...
本章节介绍了数据结构的基本概念,抽象数据类型的定义,并深入探讨了算法的时间和空间复杂性的分析。 **2.1 数据结构** - **基本概念** - 数据元素、数据项、数据结构的定义 - 线性结构与非线性结构的区别 - ...
(3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C或C++或JAVA语言实现),关键之处请给出简要注释。 **答案解析:** **(1)基本设计思想:** 为了高效地查找倒数第k个结点,可以使用双指针技术。...