选择题 数据结构 折半搜索与二叉排序树的时间性能( )。

A.相同B.完全不同C.有时不相同D.数量级都是O(log2n)答案:C为什么不是D》??... A.相同 B.完全不同 C.有时不相同 D.数量级都是O(log2n) 答案:C 为什么不是D》?? 展开
 我来答
帐号已注销
2021-01-02 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:162万
展开全部

D。

折半查找复杂度恒定是log2n,但二叉排序树最优时间复杂度是log2n,只有平衡二叉树才是log2n。

折半查找:必须要求记录有序,采用顺序存储,利bai用这个特点,所以折半查找的效率也比顺序查找高,对于数量非常大时,非常快,时间复杂度为O(logN)。

二叉查找树:若它的左子树不为空,则左子树上所有节点的值均小于根节点。若它的右子树不为空,则右子树上所有节点的值均小于根节点,它的左右子树都是二叉查找树。

扩展资料:

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

时间复杂度即是while循环的次数。

总共有n个元素,

渐渐跟下去就是n,n/2,n/4,....n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数

由于你n/2^k取整后>=1

即令n/2^k=1

可得k=log2n,(是以2为底,n的对数

所以时间复杂度可以表示O(h)=O(log2n)

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

远宏018
高粉答主

2021-01-07 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:2642
采纳率:100%
帮助的人:42.6万
展开全部

C.有时不相同。

折半查找:必须要求记录有序,采用顺序存储,利用这个特点,所以折半查找的效率也比顺序查找高,对于数量非常大时,非常快,时间复杂度为O(logN)。

二叉查找树:如果它的左子树不是空的,那么左子树中的所有节点都小于根节点。如果它的右子树不是空的,那么右子树中所有节点的值都小于根节点的值,它的左子树和右子树都是二叉搜索树

因此,二叉排序树不一定是平衡树。它只需要左右子树和根节点之间的大小关系。但是,由于没有左右子树层次差异的约束,所以通过二叉排序树搜索可能不满足logn。

例如,有多个左子树的交叉排序树。只有当它是一棵平衡二叉排序树时,其搜索时间的性能与二分搜索相似。

扩展资料:

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

时间bai杂度即是while循环的次数。

总共有n个元素,

渐渐跟下去就是n,n/2,n/4,....n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数

由于你n/2^k取整后>=1

即令n/2^k=1

可得k=log2n,(是以2为底,n的对数

所以时间du杂度可以表示O(h)=O(log2n)

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高数线代编程狂
2018-07-10 · TA获得超过1.8万个赞
知道大有可为答主
回答量:1620
采纳率:86%
帮助的人:333万
展开全部
折半查找复杂度恒定是log2n,但二叉排序树最优时间复杂度是log2n,只有平衡二叉树才是log2n,
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式