ASL测试 课题测试博客

已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少?

知识点1:
  • 折半查找法:折半查找,又称作二分查找。这个查找的算法的特点,要求数据要是有序的。然后,利用这组有序的数据之间的关系,来进行折半的查找。比方说,这组数据是升序排列的。一开始,首先对比这组数据的中间的项与所找值的关系。若是所找值>中间值,则说明所找值在中间值的右侧,因此将这组数据的区间缩小为以中间值为最左侧的小区间。然后,继续用中间值进行比较,以此类推,最终肯定会找到在数组当中与之匹配的所找值,直到区间缩小为0还没找到,就只能是所找值不在数组当中。
知识点2:
  • ASL:是查找算法的查找成功时的平均查找长度的缩写。用于静态查找表中顺序表的查找。对于含有n个记录的表,查找成功时的平均查找长度为:

    1333382-20181015161813485-1457867292.png
    P(i)=查找表中第i个记录的概率
    C(i)=关键字与给定值相等的第i个记录时,和给定值 进行过比较的关键字个数

解题步骤:

1333382-20181015163929659-1408352501.png

总结:
  • ASL与数组中具有元素的值无关,只与具有元素的个数有关

转载于:https://www.cnblogs.com/yu757503836/p/9791849.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值