数据结构和算法简述
数据结构:数据组织、存储的基本形式。是算法的基础
算法:具体问题解决步骤的描述(指令集的集合)
算法的分类:
1.分治法(分步治理):有明确目标,有既定的执行方式。(拆分,解决小问题,合并)—— 开发中应用频率最高
2.最短路径法:有明确的目标,需要找寻有效地执行方式(刷完怪取找NPC交任务的路线) ——游戏开发中
3.贪婪(贪心):没有明确的目标,没有有效地执行方式(阿尔法狗下棋,最终目的是赢,走一步看一步)——AI
算法5大特性:
- 输入:0-N
- 输出:1-N
- 有穷性:有限步执行,不会出现无限循环
- 确定性:有明确的含义,无二义性。
- 可行性:每一步都是可以执行的
数据结构分类
-
逻辑结构
- 集合结构:map、变参、枚举、Kind{} 。。。
- 线性结构:1:1 数组、切片。
- 树形结构:1:N 多叉树、二叉树
- 图形结构:N:N
-
物理结构(存储结构)
-
顺序存储:数组,切片
特性:数据元素连续存储,检索效率高。增删效率低 -
链式存储:链表
特性:数据元素散乱存储。检索效率低。增删效率高。
-
线性表特性
- 数据元素之间是有顺序的
- 数据元素个数是有限的
- 数据元素的类型是相同的