首页 > 编程语言 > 详细

Java-二分查找与二叉树关系详解-2021-7-20

时间:2021-07-21 09:41:08      阅读:21      评论:0      收藏:0      [点我收藏+]

技术分享图片

  •  leetcode第704题二分查找,想必大家都知道具体的解题思路了,无非以下几点

  • 比较数组中间的数是否与目标值相等、是否比中间值小、是否比中间值大

  • 看完leetcode官方给出的题解后,其中中间值的公式让我有点懵,于是我特意百度了一下,发现百度中收录的题解公式是这样的

技术分享图片

 

  •  无符号右位移,在这之前我一直以为二分查找是这样的,从中间值一直向左查询目标值,或者向右查询目标值。所以我特意套入百度百科上的公式试了一下,发现真的就是“二分查找”,这才发现自己以前理解的“二分查找”有误

  • 可以通过画一个二叉树来解这道题,如下,我们可以看到“二分查找”每次都是从中间值开始查找并且进行left+1或者right-1的操作的,而且在右树的查找中,right的值永远不变,在左树的查找中,left的值永远不变

技术分享图片

 

这样看来,二分查找是不是明了了很多?

 

Java-二分查找与二叉树关系详解-2021-7-20

原文:https://www.cnblogs.com/zemengcheng/p/15037692.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!