摘要: 递归版(在区间[x, y)中找v的位置) 1 //递归版二分查找 2 int bsearch(int * A, int x, int y, int v) 3 { 4 5 if(v<a[x] || v>a[y-1]) return -1; 6 int m = x + (y-x)/2; //此处能不能用 阅读全文
posted @ 2017-08-18 22:50 chsobin 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 运用分治法: 1.划分问题:把序列分成元素个数尽量相等的两半 2.递归求解:把两半元素分别排序 3.合并问题:把两个有序表合并成一个 时间复杂度:T(n) = 2T(n/2) + 2n > O(nlogn) 1 #include<bits/stdc++.h> 2 using namespace st 阅读全文
posted @ 2017-08-18 11:40 chsobin 阅读(144) 评论(0) 推荐(0) 编辑