数据结构之期末考试复习查找

目录

概念

代码


概念

由顺序表表示的有序表可使用二分查找法来提高查找速度,而单链表由于无法直接访问中间元素,无法高效使用二分查找法。

有n个数存放在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度相同,均为(n+1)/2

若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为(n+1)/2。

当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度在大部分情况下要快。

顺序查找法适合于存储结构为顺序存储或链式存储的线性表。

适用于折半查找的表的存储方式及元素排列要求为顺序方式存储,元素有序。

用二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是:log2​(100)=7

对有18个元素的有序表用二分法查找,则查找第3个元素的比较序列位置值为9,4,2,3。

(NeuDS_C++)有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值82为的结点时,4次比较后查找成功。

对22个记录的有序表作折半查找,当查找失败时,至少需要比较4次关键字。(公式:log2​(n+1),log2​(23)≈4.528)

已知一个长度为100的顺序表L,其元素按关键字有序排列。若采用二分查找法查找一个L中不存在的元素,则关键字的比较次数最多是7次。(通过归纳证明,区间长度为 2^(k−1)∼2^k−1时,最多比较 k次)

代码

重点考察二分查找,顺序查找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值