在97个记录的由于顺序表中进行二分查找,最大比较次数是?

 我来答
帐号已注销
高粉答主

2019-10-15 · 关注我不会让你失望
知道小有建树答主
回答量:1346
采纳率:100%
帮助的人:37万
展开全部

在97个记录的由于顺序表中进行二分查找,最大比较次数是7次。

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

根据顺序表二分法查找比较次数的计算公式:

当顺序表有n个关键字时:

查找失败时,至少比较a次关键字;查找成功时,最多比较关键字次数是b。

所以,当顺序表记录数 n=97 时,log₂64<log₂97<log₂128,即6<log₂97<7,最大比较次数为7次。



扩展资料


算法要求:

1、必须采用顺序存储结构。

2、必须按关键字大小有序排列。

在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。

由此得到的存储结构为顺序存储结构,通常顺序存储结构是借助于计算机程序设计语言(例如c/c++)的数组来描述的。

顺序存储结构的主要优点是节省存储空间,因为分配给数据的存储单元全用存放结点的数据(不考虑c/c++语言中数组需指定大小的情况),结点之间的逻辑关系没有占用额外的存储空间。

采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。

但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。

优点:随机存取表中元素、储存密度大。

缺点:插入和删除操作需要移动元素。

参考资料:百度百科-二分查找

参考资料:百度百科-顺序存储结构

行了我go
2019-08-25 · TA获得超过3066个赞
知道答主
回答量:7
采纳率:0%
帮助的人:1964
展开全部

在97个记录的由于顺序表中进行二分查找,最大比较次数是7次。

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

根据顺序表二分法查找比较次数的计算公式:

当顺序表有n个关键字时:

查找失败时,至少比较a次关键字;查找成功时,最多比较关键字次数是b。

所以,当顺序表记录数 n=97 时,log₂64<log₂97<log₂128,即6<log₂97<7,最大比较次数为7次。

扩展资料:

二分查找的基本思想:

将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x,如果x>a[n/2],则只要在数组a的右半部搜索x。

时间复杂度无非就是while循环的次数,若总共有n个元素,则时间复杂度可以表示为O(h)=O(log2n)。

参考资料来源:百度百科-二分查找

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永恒pascal
2016-09-25 · TA获得超过4357个赞
知道大有可为答主
回答量:3902
采纳率:93%
帮助的人:667万
展开全部
1--2
2--4
3--8
4--16
5--32
6--64
7--128
你的97介于64和128之间,最大比较次数为7次。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式