1 package com.gxf.search; 2 3 /** 4 * 测试折半查找or二分查找 5 * @author xiangfei 6 * 7 */ 8 public class BiSearch { 9 10 /**11 * 非递归实现,从第1个元...
分类:
其他好文 时间:
2014-11-13 00:25:37
阅读次数:
247
1、思考题 (1)有12颗球,1颗是9克,其余的都是10克,怎样在天平上称三次找出9克的那颗质量小的球? 答:第一次:把12颗球分成两半,一半6颗,在天平上称,取质量小的一边; 第二次:把6颗球分成两半,一半三颗,也取质量小的一边; 第三次:取三颗球中任一两颗去称,如果质量相等,...
分类:
编程语言 时间:
2014-11-11 14:00:38
阅读次数:
192
O(n)的算法就不说了,这题主要考查的是 O(logn)的算法。有序数组容易想到使用二分查找解决,这题就是在二分基础上做一些调整。数组只有一次翻转,可以知道原有序递增数组被分成两部分,这俩部分都是有序递增的(这题只需要考虑有序数组的递增情况)。假如翻转后的数组以第 x 个结点分为两部分 A[0..x] 和 A[x+1..n]。则 A[0..x] 这一段是有序递增的, A[x+1..m] 这一段也是...
分类:
编程语言 时间:
2014-11-11 12:44:02
阅读次数:
261
对于一个n*n的矩阵,其中只包含有0,1两种元素且,所有的0都在1之前,请找出矩阵中0最多的一行。(Given an N-by-N matrix of 0s and 1s such that in each row no 0 comes before
a 1, find the row with the most 0s in O(N) time.)
初看这题,想到的算法就是每一行都设置一个计...
分类:
其他好文 时间:
2014-11-10 23:30:00
阅读次数:
446
转载自:http://blog.csdn.net/niushuai666/article/details/6734403函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个...
分类:
编程语言 时间:
2014-11-09 21:58:50
阅读次数:
184
题目1384:二维数组中的查找 题解报告:一道典型的二分查找题,用C++做居然超时>1000MS,郁闷半天!,该成C,提交680MS过,C还是很快的! #include #include int a[1010][1010];int main(){ ...
分类:
编程语言 时间:
2014-11-09 12:31:40
阅读次数:
194
Select
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)...
分类:
其他好文 时间:
2014-11-09 11:22:34
阅读次数:
221
题目要求: 一个数组是由一个递减数列左移若干位形成的,比如{4,3,2,1,6,5}是由{6,5,4,3,2,1,}左移两位形成的,在这种数组中查找某个数。题目分析: 方法1 逐个查找,遍历一遍数组,时间复杂度O(N). 方法2 二分查找,时间复杂度O(logN).具体分析见下图:代码实现:#...
分类:
编程语言 时间:
2014-11-08 22:09:08
阅读次数:
181
http://blog.csdn.net/kenby/article/details/6833407http://blog.csdn.net/kenby/article/details/6833407o(logn)两种方法:一、二分查找中位数只有一个,它前面有 c = (m+n-1)/2 个数比它小...
分类:
编程语言 时间:
2014-11-08 18:04:48
阅读次数:
264
GeoHash核心原理解析引子一提到索引,大家脑子里马上浮现出B树索引,因为大量的数据库(如MySQL、oracle、PostgreSQL等)都在使用B树。B树索引本质上是对索引字段进行排序,然后通过类似二分查找的方法进行快速查找,即它要求索引的字段是可排序的,一般而言,可排序的是一维字段,比如时间...
分类:
其他好文 时间:
2014-11-07 16:54:56
阅读次数:
278