数据结构–搜索–总结
1.(基础要点) 查找的基本概念
- 查找:就是在数据集合中寻找满足某种条件的数据对象。
- 关键码:在每个对象中有若干属性,其中有一个属性,其值可唯一地标识这个对象,称为关键码。
- 静态搜索:搜索结构在插入和删除等操作的前后不发生改变。
- 动态搜索:为保持高的搜索效率,搜索结构在执行插入和删除等操作的前后将自动进行调整,结构可能发生变化。
- 静态:有序查找、折半查找、斐波那契搜索
- 动态:有序查找、折半(跳表)、非线性-树
2.(基础要点) 顺序查找、二分查找、分块查找
2.1 顺序查找
2.2 二分查找
基本思路:设R[low,high]是当前的查找区间,首先确定该区间的中间位置mid=(low+high)/2,然后将待查的k值与R[mid]比较,若相等,则查找成功,返回该位置。否则需要确定新的查找区间。若R[mid]>k,则新的查找区间为[low,…,mid-1],类似地,若R[mid]
2.3 分块查找
又称索引顺序查找。
3.(⭐⭐) 二叉排序树、平衡二叉树、伸展树、红黑树
3.1 二叉搜索树
- 二叉搜索树(Binary Search Tree)定义:二叉搜索树或者是空树,或者