1.查找
《1》顺序查找
- 普通顺序查找
- 哨兵顺序查找
优点:无需判断是否越界,效率更高。
- 顺序查找的优化
将被查找概率由高到低排列,可以增加查找成功的概率,但是对查找失败的概率没有影响。
《2》折半查找
以上代码顺序表基于升序排列 ,那顺序表降序是怎么样的?
- mid向下取整
- mid向上取整
《3》分块查找
分块查找在考研中以小题的形式出现,不会考代码题,所以重点掌握分块查找的思想
① 顺序查找索引
② 用折半查找查索引
- 1.目标数在索引表中
- 2.目标数不在索引表中
- 3.目标数超过索引表最大数
2.树型查找
《1》二叉排序树(BST)
- 无递归排序数的查找实现
- 递归排序数的查找实现
- 二叉排序树的插入
- 二叉排序树的构造
- 二叉排序树的删除
1.删除叶子结点
2.删除只有一颗子树的结点
3.删除有两棵子树的结点
- 查找效率的分析
《2》平衡二叉树
经过最小不平衡树的平衡化后,所有结点的平衡因子都恢复于平衡,从而保证二叉树的平衡。
《3》红黑树
- 红黑树的优点
- 红黑树的定义 与 性质
- 红黑树的插入
3.B树与B+树
《1》B树
- B树的概念与性质
- B树的插入
- B树的删除
《2》B+树
4.散列表
《1》拉链法
- 最理想的情况:散列查找时间复杂度可达到O(1) 设计减少冲突的散列函数是关键
《2》开放定址法
- 线性探测法
- 平方探测法
- 伪随机序列法