- 3
- 0
- 约1.24万字
- 约 58页
- 2017-06-09 发布于湖北
- 举报
有很大差异,分治算法的有效性很大程度上依赖于合并的实现。 public static int binarySearch(int [] a, int x, int n) { // 在 a[0] = a[1] = ... = a[n-1] 中搜索 x // 找到x时返回其在数组中的位置,否则返回-1 int left = 0; int right = n - 1; while (left = right) { int middle = (left + right)/2; if (x == a[middle]) return middle; if (x a[middle]) left = middle + 1; else right = middle - 1; } return -1; // 未找到x } 每执行一次算法的while循环, 待搜索数组的大小减少一半。因此,在最坏情况下,while循环被执行了O(logn) 次。循环体内运算需要Θ(1) 时间,因此整个算法在最坏情况下的计算时间复杂性为O(logn) 。 = 在密码系统与信息安全、数字信息、加密解密等领域,经常遇到大整数乘法的问题,通常的朴素算法需要
原创力文档

文档评论(0)