二分法(折半)查找【Java】
适用条件: 有序、无重复元素二分法查找效率要高于“一个挨着一个”的这种查找方式。
二分法查找原理:
arr数组:10(0下标) 23 56 89 100 111 222 235 500 600(下标9)
目标:找出600的下标
(0 + 9) / 2 --> 4(中间元素的下标)
arr[4]这个元素就是中间元素:arr[4]是 100
判断100 < 600,说明被查找的元素在100的右边。
那么此时开始下标变成:4 + 1
(5 + 9) / 2 --> 7(中间元素的下标)
arr[7] 对应的是:235
判断235 < 600,说明被查找的元素在235的右边。
开始下标又进行了转变:7 + 1
(8 + 9) / 2 --> 8(中间元素的下标)
arr[8] --> 500
判断500 < 600,说明被查找的元素在500的右边。
开始元素的下标又发生了变化:8 + 1
(9
共有 0 条评论