数据结构:二分查找与二叉树

来源:互联网 发布:linux查看用户所属组 编辑:程序博客网 时间:2024/06/03 21:57
  • 关于二分查找,原理其实不难,而且java Arrays类里面有一个sorts()方法,可以先对数据进行排序,然后调用binarySerarch()方法,这个方法就是进行二分查找用的。
  • 下面是JDK的源代码:
 private static int binarySearch0(long[] a, int fromIndex, int toIndex,                                     long key) {        int low = fromIndex;        int high = toIndex - 1;        while (low <= high) {            int mid = (low + high) >>> 1;            long midVal = a[mid];            if (midVal < key)                low = mid + 1;            else if (midVal > key)                high = mid - 1;            else                return mid; // key found        }        return -(low + 1);  // key not found.    }
  • 说下原理:一个有序数组,需要查找某一个数组中某一个值,二分查找就就是先按照数组下标加一,然后除以二,之后向下取余。也就是数组{2,3,4}按照下标算toIndex 最大是二,(2+1)/2 = 1…1直接取1,数组下标为一的数是3。然后我们拿到这个中值a,如果我们要查的值比a这个值小,这时a就变成最大值,再按照上述方式进行循环查找。


  • 简述一下二叉树的原理:数组拿出一个数作为根节点,把比这个数小的放在左子树上,然后把比这个数打的放在右子树上。以此类推。
    http://blog.csdn.net/h348592532/article/details/45741935
阅读全文
'); })();
1 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 下颌角改脸型 下颌角缩小术 下颌角疼痛 下颌角肿胀 下颌角淋巴 下颌角过大 下颌角磨削多少钱 下颌角囊肿 下颌角切口 下颌角内收 下颌角怎么瘦 磨下颌角要多少钱 下颌角怎么做 下颌角位置 男性下颌角 怎么瘦下颌角 磨下颌角痛吗 下颌角硬块 下颌角肉多 下颌角肥大原因 下颌角成型 下颌角痘痘 下颌角整形 价格 下颌角角度 中国下颌角专家 邵祯下颌角 下颌角改形 下颚骨矫正 下颌骨是哪里图片 下颌骨肥大怎么办 下颌骨错位怎么办 下颌骨整形前后对比 下颌骨整容多少钱 下颌骨不对称整形 下颌骨不对称怎么办 去下颌骨多少钱 下颌骨多少钱 下颌骨脱位怎么办 下颌骨整形哪里好 下颌骨不对称怎么矫正 下颌骨整形需要多少钱