社区
数据结构与算法
帖子详情
n 二分查找最坏情况下要找多少次?在线等
Ryoko7
2003-02-22 08:27:12
怎么算呢
...全文
2899
15
打赏
收藏
n 二分查找最坏情况下要找多少次?在线等
怎么算呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iunkown
2003-02-26
打赏
举报
回复
theta(n)是二叉搜索树在worstcase 下的效率,二分查找与二叉搜索树下查找不是一会事,
二分查找worstcase 因该是lgn
iunkown
2003-02-26
打赏
举报
回复
最坏情况下因该是theta(n),因为二叉搜索树在worstcase 就是一个list。不知我的理解是否有误?
yuchenchen2003
2003-02-26
打赏
举报
回复
二分查找 最坏的情况是所查的数据不在二叉排序树中.即顺着根一直查到叶子结点
即是树的高度
eion
2003-02-26
打赏
举报
回复
3
n个数, 比较中间的数,一次去掉一半,余下n/2个
n/2个数, 再比较中间的数,一次去掉一半,余下n/4个
n/4个数, 再比较中间的数,一次去掉一半,余下n/8个
n/8个数, 再比较中间的数,一次去掉一半,余下n/16个
n/16个数, 再比较中间的数,一次去掉一半,余下n/32个
n/32个数, 再比较中间的数,一次去掉一半,余下n/64个
n/64个数, 再比较中间的数,一次去掉一半,余下n/128个
n/128个数,再比较中间的数,一次去掉一半,余下n/256个
。。。。。。
每次余下n/(2^i)个,当最后剩下一个时,就是
n/(2^i)=1
故:
N=2^i;
所以
i=log2(N)
Riemann
2003-02-24
打赏
举报
回复
没必要从二叉树去考虑,仅从序列考虑就行了。
想想看,每次砍掉序列的一半,在剩下的一般序列中搜索,比较次数当然与log(2,n)等价,但不一定恰好等于,因为我们无法保证每次截去的序列恰好为原来的一半。
Isogood
2003-02-24
打赏
举报
回复
绝对是树的高度拉!!
应为没次都是要分的 !!
dbExpress
2003-02-23
打赏
举报
回复
to Ryoko7:
如果二叉树长的畸形一点,有时候它的高度会大于log2(n)
naturerythm
2003-02-23
打赏
举报
回复
to Ryoko7 (然) :
两者的实质是一样的.
ZhangYv
2003-02-23
打赏
举报
回复
条件:已排好序的数组。最坏情况是,根为数组中间的元素第(low+heigh)/2 个的二叉搜索树高度。
dbExpress
2003-02-22
打赏
举报
回复
sorry:
n = 2^X
so, X = log2(n)
dbExpress
2003-02-22
打赏
举报
回复
n = X^2
so, X = log2(n)
Ryoko7
2003-02-22
打赏
举报
回复
能给解释一下为什么这么算么
dbExpress
2003-02-22
打赏
举报
回复
log2(N)
Ryoko7
2003-02-22
打赏
举报
回复
不是,好像是查找一个有序数组,先从中间切开,再如此切
naturerythm
2003-02-22
打赏
举报
回复
二分查找就是在二叉搜索树查找。
最坏情况下即二叉搜索树的高度。
数据结构基础系列(8):查
找
数据结构课程是计算机类专业的专业基础课程,在IT人才培养中,起着重要的作用。课程按照大学计算机类专业课程大纲的要求,安排教学内容,满足需要系统学习数据结构的人。系列课程包含11个部分,本课为第8部分查
找
,介绍查
找
的基本概念,重点是线性表上顺序查
找
、
二分查
找
和分块查
找
,二叉排序树、AVL树和B-树的各种树表,以及哈希表查
找
。
二分查
找
:最多需要多少
次
?
二分查
找
最多要检查多少个元素? Python
二分查
找
是一种高效的搜索算法,
最坏
情况
下需要执行的
次
数和要检查的元素数量都取决于数组的长度。通过求解对数方程,我们可以得出
最坏
情况
下的
二分查
找
次
数和要检查的元素数量都为 log(n),其中 n 是数组的长度。在
最坏
情况
下,
二分查
找
需要执行的
次
数和要检查的元素数量都是以对数形式增长的。在本文中,我们将探讨
二分查
找
算法的
最坏
情况
,并回答最多需要多少
次
以及最多要检查多少个元素的问题。在
最坏
情况
下,每
次
迭代中,我们将搜索范围减半,因此每
次
迭代后,需要检查的元素数量也减半。
最坏
情况
下的
二分查
找
需要多少
次
?
算法
二分查
找
算法篇
困而学,学而知 什么是
二分查
找
算法呢? 首先需要说明的是,只要在数组有序的
情况
下,
二分查
找
才是有用。如果是一个无序的数组,
二分查
找
就没有意义了。 现在有1~100个数,当然是有序的,现在需要你猜一个数。你每猜一
次
,我告诉你猜大了还是猜小了,那么现在开始吧。 现在有三种方案 从1按照顺序猜 我们来看看这种方式,如果从1按照顺序猜,最好的
情况
就是第1
次
就猜中,
最坏
的
情况
就是最后一
次
才会猜...
查
找
算法:
二分查
找
二分查
找
快速排序和
二分查
找
时间复杂度详解
因为
二分查
找
每
次
排除掉一半的不适合值,所以对于n个元素的
情况
:一
次
二分剩下:n/2两
次
二分剩下:n/2/2 = n/4。。。m
次
二分剩下:n/(2^m)在
最坏
情况
下是在排除到只剩下最后一个值之后得到结果,所以为 n/(2^m)=1;2^m=n;所以时间复杂度为:log2(n) 快速排序的基本思想是:每
次
从无序的序列中
找
出一个数作为中间点(可以把第一个数作为中间点),然后把小于中间点的数放在中间点
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章