二分法查找为什么只适用于顺序存储?
谁说它只能用于顺序存储,链式存储也可以使用。看一下二分法的算法描述,其中提到它只能用于顺序存储。
算法与其实现无关。我们只能说有些算法在某些方面更便于实现。
二分法查找适用于何种存储方式的有序表?
二进制搜索是一种有效的搜索方法。在二进制搜索中,线性表的节点必须按键值排序,线性表按顺序存储。二进制搜索的优点是比较次数少,搜索速度快,平均搜索长度小。经过{logen次比较,搜索过程就可以完成了。同时,有序表的插入和删除需要平均比较和移动表中一半的元素。一般来说,二进制搜索适用于相对固定的数据,二进制搜索只适用于线性表的顺序存储。
下列数据结构中,能用二分法进行查找的是()?
a.按顺序存储的有序线性列表的二分法仅适用于有序列表。其次,由于链表对节点的操作只能以p->next的方式进行,不适合下标操作,因此不能使用d.有序线性表。但是,可以使用有序线性列表
适用的前提条件:
1。存储在数组中(如一维数组)
2数组元素按顺序(如升序)搜索的基本思想:半搜索,将要搜索的元素设为值,将值与中间元素(中间=左(右-左)/2比较,这样做的好处是防止中间元素越界)。如果小于中间值,搜索范围将继续在中间1,如果大于中间值,搜索范围将在中间1-1。如果它等于中间值,则搜索的结束索引元素为value=middle。
原文标题:二分法的使用条件 二分法查找为什么只适用于顺序存储?,如若转载,请注明出处:https://www.saibowen.com/wenda/19455.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。