![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
theoriginaldream
这个作者很懒,什么都没留下…
展开
-
算法之分治——最坏情况线性时间的选择
思路:在基础版本的选择算法上,保证每一次都是平衡的划分 #include using namespace std; int a[1000]; int part(int b,int r,int x)//划分 { swap(a[x],a[r]); int i=b-1; int j=b; while(j<=r) { if(a[j]<a[r]) { swap(a[j],a[i+原创 2015-02-10 23:02:06 · 517 阅读 · 0 评论 -
算法之分治——期望线性时间的选择(基础版本的选择)
//线性选择:在快速排序的基础上来选择 #include using namespace std; int a[1000]; int sort(int left,int right,int k) { if(left==right) return left;//递归后只剩一个元素,必然是要找的元素 if(right>left) { int i=left-1; int j=left原创 2015-02-10 23:04:01 · 486 阅读 · 0 评论