摘要: 思想:将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果xa[n/2],则我们只要在数组a的右半部继续搜索x。分析:它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(logn)完成搜索任务。代码:public static boolean find(int n, int[] a, int start, int end) { if (start > end) return false; int mid = (start + end) / 2; if (n == a[mid]) return true;... 阅读全文
posted @ 2013-09-17 20:10 欧麦高德 阅读(217) 评论(0) 推荐(0)