随笔分类 - 查找算法
一些查找的算法。
摘要:如果要我们找出一个数组中的最小(最大)的元素,那么第一反应肯定是使用最小(最大)堆。时间复杂度等同于建堆的复杂度,这里是O(N)。如果要我们找出一个数组中的第k个最小的元素,那么我们依然可以使用最小堆,删除掉k次的最小值,就得到了结果。复杂度是O(N + klogN)。如果要我们找出一个数组的中值,...
阅读全文
摘要:简单地用递归的方法实现了二分查找算法,适用于数组。二分查找算法的前提条件是数组本身是有序的,比如int arr[6] = {2, 3, 5, 7, 11, 13};在数据是稳定有序、几乎不存在插入和删除操作的情况下,二分查找是实用的。代码如下: 1 // 递归 2 int 3 BinarySear...
阅读全文