第13周 查找
关键字:数据元素的某个数据项的值,用它可以标识列表中的一个或一组数据元素。
- 主关键字:惟一标识列表中的一个数据元素
- 次关键字:不是主关键字,就为次关键字
- 当数据元素仅有一个数据项时,数据元素的值就是关键字
- 静态查找:在查找过程中只是对数据元素进行查找
- 动态查找:在实现查找的同时,插入找不到的元素,或从查找表中删除已查到的某个元素。
查找的基本方法
1. 比较式查找法 —— (1)基于线性表的查找 (2)基于树的查找法
2. 计算式查找法 —— HASH(哈希)查找法
基于线性表的查找法 —— 顺序查找法;折半查找法
顺序查找法
若列表长度为 n,查找从最后一个元素开始找起,查找每个数据元素的概率相等,
则顺序查找算法的平均查找长度为:ASL=(n + 1)/ 2 (从首元素开始同样)
若查找第 i 个元素,需进行(n – i + 1)次比较。
折半查找法
前提条件:
- 必须采用顺序储存结构
- 必须按关键字大小有序排列