二分法查找二分法查找算法的小例子

二分法查找  时间:2021-08-04  阅读:()

二分查找次数是怎么算的啊?如:123456要查找5,要几次啊,这是怎么算的啊?

展开全部 我举其他的一组例子。

我们对一维数组中存放的元素 15 23 38 47 55 62 88 95 102 123 这十个数用二分法查找元素 95 要用到二叉树构建的方法. 如果查找数组元素个数是偶数n=10,那就将(n+1)/2=5.5,这里有向上取整和向下取整两种方法,我用向下取整这种方法解释下。

5.5向下取整就是5,所以数组的第五个元素 55 作为二叉树的根节点.这时数组分为了两堆.15 23 38 47和 62 88 95 102 123.还是同样的方法15 23 38 47 这一堆的中间元素是(4+1)/2=2.5向下取整就是元素23,而62 88 95 102 123这一堆本来就是奇数,所以直接将95作为他们的中间元素,此时的左边一堆的中间元素 23 和右边一堆的中间元素 95分别作为刚刚原数组中间元素55这个根节点的左子树和右子树。

然后又将元素分成了 15(以23作为中间元素的左边一堆)和38 47(以23作为中间元素的右边一堆) 和62 88(以95作为中间元素的左边一堆) 和102 123(以95作为中间元素的右边一堆)这四堆。

分别取四堆的中间元素,15 、38、62、102.其中15和38分别作为节点23的左、右子树,而62和102作为节点95的左、右子树。

然后就该是八堆了.但是15只有一个元素所以他就只是叶子节点了,38 47取走38后只剩47所以47作为节点38的子树寄叶子节点,右边62 88取走62后剩88作为62的叶子节点,102 123取走102后只有123作为他的叶子节点。

现在要查找95这个元素.第一次访问根节点55,然后第二就可以访问根节点的右子树95节点了.所以只要两次就可以了.

二分法查找元素

二分查找 就是从中间开始查找加入是数组的话 就拿 26与中间的那个数比较 此题中是第(9+1)/2 = 5 个数 37比37小 从左边找到37 依次再找中间的数 第(5+1)/2 = 3 个数 20 然后 再从 20 找到37中 第(3+1)/2 = 2 个数 即26比较 找到查找长度是你查找该数的次数或确定没有该数的次数 本题中是3

二分法查找算法的小例子

void binsrch( int m[N],int k){ int low,high,mid; low=0;high=N-1; while (low<=high){ mid=(low+high)/2; if (k>m[mid]) high=mid-1; if (k<m[mid]) low=mid+1; if (k==m[mid]){ printf("找到此数在数组的%d位,值为%d",mid+1,k); return; } } printf("没有找到此数,非常报歉"); return;

牦牛云(3.5USD/月 )阿里云国际版云服务器 1核1G40G

收到好多消息,让我聊一下阿里云国际版本,作为一个阿里云死忠粉,之前用的服务器都是阿里云国内版的VPS主机,对于现在火热的阿里云国际版,这段时间了解了下,觉得还是有很多部分可以聊的,毕竟,实名制的服务器规则导致国际版无需实名这一特点被无限放大。以前也写过几篇综合性的阿里云国际版vps的分析,其中有一点得到很多人的认同,那句是阿里云不管国内版还是国际版的IO读写速度实在不敢恭维,相对意义上的,如果在这...

搬瓦工:新增荷兰机房 EUNL_9 测评,联通 AS10099/AS9929 高端优化路线/速度 延迟 路由 丢包测试

搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...

CYUN(29元/月)美国、香港、台湾、日本、韩国CN2,续费原价

关于CYUN商家在之前有介绍过一次,CYUN是香港蓝米数据有限公司旗下的云计算服务品牌,和蓝米云、蓝米主机等同属该公司。商家主要是为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。目前,CYUN主要运营美国、香港、台湾、日本、韩国CN2线路产品,包括云服务器、站群服务器和独立服务器等。这次看到CYUN夏季优惠活动发布了,依然是熟悉的...

二分法查找为你推荐
蓝屏代码电脑蓝屏,出现代码。blastpncbi blastp怎么设库appmakr国外的appmakr和国内的apicloud有什么区别?订单详情淘宝购物记录具体指什么?是订单详情还是交易聊天记录???scanf返回值scanf() 函数也有返回值?横幅广告banner是横幅广告,botton是按钮型广告。大家能说说它们之间的区别吗?高质量图片ps 合成图片,怎样才算高质量的?从那些方面判定照片的质量微店是什么微店和微商有什么区别呢jspushjavascript数组 如果一直只做push 那么数组的index为-1的地方是什么值微信收费微信提现收费是怎么计算的 从什么时候开始收费
哈尔滨服务器租用 独享100m site5 加勒比群岛 59.99美元 wdcp 500m空间 我爱水煮鱼 美国堪萨斯 银盘服务是什么 超级服务器 raid10 如何登陆阿里云邮箱 godaddy空间 网站加速 googlevoice 美国服务器 linux命令vi 文件传输 赵蓉 更多