数据结构-操作
遍历
树
- 先根遍历
- 后根遍历
二叉树
递归遍历
- 先序遍历
- 中序遍历
- 后序遍历
非递归遍历
- 靠左深度优先
- 待遍历栈
- 遍历指针
- 访问指针
- 层序遍历
- 待访问队列
- 当前访问节点指针
图
DFS
BFS
查找
ASL
静态查找表
- 元素是否存在
- 访问元素
顺序查找
二分查找
let sTable:number[]=[1,2,3,4,5,6,7,8,9,10,11];
let biSTree:number[]=[6,3,9,1,4,7,10,'',2,'',5,'',8,'',11];
6
/ \
3 9
/ \ / \
1 4 7 10
\ \ \
2 8 11
分块查找
let sTable:number[]=[6,3,9,1,4,7,10,2,5,8,11];
|
v
let bSTable:number[][]=[
[6,9,11],
[6,3,1,4,2,5],
[9,7,8],
[10,11]
];
动态查找表
二叉排序树
- 性质
- 查找
- 插入
- 删除
平衡二叉树
- 性质
- 插入
- LL 单向右旋
- RR 单向左旋
- LR 先左后右双向旋转
- RL 先右后左双向旋转平衡
- 删除
- 一般情况,被删除的节点的子树都需要更新
平衡 m 叉树
- 性质
- 概念
- 关键字 K
- 子结点 A
- 关键字 K
- 分裂
- 在插入操作中,若操作导致某节点,则需要分裂
- 合并
- 在分裂操作中,若操作导致某节点,则需要合并
哈希表
- 概念
- 哈希函数:
- 散列:
- 冲突:
- 同义词:
- 哈希函数
- 直接定址法
- 数字分析法
- 平方取中法
- 折叠法
- 随机数法
- 除留余数法