二分查找
public class BinarySearch {
public static int binarySearch(int[] array, int target) {
//查找范围起点
int start = 0;
//查找范围终点
int end = array.length - 1;
//查找范围中位数
int mid;
while (start <= end) {
//mid=(start+end)/2 有可能溢出
mid = start + ((end - start) / 2);
if (array[mid] == target) {
return mid;
} else
if (array[mid] < target) {
start = mid + 1;
} else {
end = mid - 1;
}
}
return -1;
}
public static void main(String[] args) {
int[] array = new int[1000];
for (int i = 0; i < 1000; i++) {
array[i] = i;
}
System.out.println(binarySearch(array, 173));
}
}
跳跃表
import java.util.Random;
public class SkipList{
//结点“晋升”的概率

本文详细梳理了《漫画算法2》中关于二分查找和跳跃表的源码实现,深入探讨这两种高效的数据搜索技术,旨在帮助读者理解并掌握它们的工作原理及其在实际问题中的应用。
最低0.47元/天 解锁文章
176万+

被折叠的 条评论
为什么被折叠?



