第七章 查找
- 查找:是在数据集合中查找满足某种条件的数据元素的过程。
- 查找表(一种查找结构):用于查找的数据集合称为查找表。它是由同类型的数据元素组成,可以是数组或链表等数据类型。
- 静态查找表:对于无须动态修改查找表的此类查找表,称为静态查找表。
- 平均查找长度(ASL):在查找的过程中,一次查找的长度是指需要比较的关键字次数。而平均查找长度是指,所有查找过程中,进行关键字的比较次数的平均值。
- 1、顺序查找(又称线性查找):其适用于顺序表和链表都适用。对于顺序表的顺序查找:是通过数组下标递增来顺序扫描每一个元素。对于链表来说顺序查找:是通过指针next来实现依次扫描每一个元素。
- 2、折半查找(二分查找):仅仅适用于有序的顺序表。其基本思想:
- 1)首先将给定值Key与表中的中间位置先比较,若相等,则查找成功。反之,则进行第2)步。
- 2)若1)未成功,则key值只能和除了中间元素外的前半部分或后半部分的元素进行查找。
- 3)缩小范围后,重复1)、2),直到找到为止。反之,若未查找到元素,则返回查找失败。
- 3、分块查找(索引顺序查找):它吸取了顺序查找和折半查找各自的优点。其基本思想是:
- 1ÿ