数据结构与算法框架
数据结构
逻辑结构
- 无逻辑关系
- 集合
- 线性结构
- 一般线性表
- 受限/特殊线性表-栈、队列、串
- 推广线性表-数组、广义表
- 非线性结构
- 树
- 图
- 多维数组
存储结构
- 顺序存储
- 链式存储
- 索引存储
- 散列存储
算法
排序
内部排序
- 插入排序-直接插入排序、折半插入排序、希尔排序
- 选择排序-简单选择排序、堆排序
- 交换排序-冒泡排序、快速排序
- 归并排序
- 基数排序
外部排序
- 多路归并排序
查找
- 顺序/线性查找
- 折半查找
- 分块查找
线性表
顺序表
链表
- 单链表
- 双链表
- 循环单/双链表
- 静态链表
栈
- 顺序栈
- 链栈
- 共享栈
队列
- 顺序队列-循环队列
- 链队
- 双端队列、输入受限/输出受限的双端队列
串
限定了数据元素为字符的线性表
树
遍历
- 前序
- 后序
- 层次
二叉树
遍历
- 前序
- 中序
- 后续
- 层次
树与二叉树区别
- 二叉树度为二
- 二叉树分左右子树
- 二叉树是独立的数据结构,不是特殊树
图
存储结构
- 邻接矩阵
- 邻接表
- 十字链表
- 邻接多重表
遍历
- 广度优先遍历
- 深度优先遍历
最小生成树
- Prim
- 克鲁斯卡尔
最短路径
- 迪杰斯特拉求单源最短路径
- Floyd求各顶点之间最短路径
拓扑排序
有向无环图
AOV
关键路径
AOE