ASL测试 课题测试博客

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

知识点1:

  • 折半查找法:折半查找,又称做二分查找。这个查找的算法的特色,要求数据要是有序的。而后,利用这组有序的数据之间的关系,来进行折半的查找。比方说,这组数据是升序排列的。一开始,首先对比这组数据的中间的项与所找值的关系。如果所找值>中间值,则说明所找值在中间值的右侧,所以将这组数据的区间缩小为以中间值为最左侧的小区间。而后,继续用中间值进行比较,以此类推,最终确定会找到在数组当中与之匹配的所找值,直到区间缩小为0还没找到,就只能是所找值不在数组当中。

知识点2:

  • ASL:是查找算法的查找成功时的平均查找长度的缩写。用于静态查找表中顺序表的查找。对于含有n个记录的表,查找成功时的平均查找长度为:算法


    P(i)=查找表中第i个记录的几率
    C(i)=关键字与给定值相等的第i个记录时,和给定值 进行过比较的关键字个数数组

解题步骤:

总结:

  • ASL与数组中具备元素的值无关,只与具备元素的个数有关
相关文章
相关标签/搜索