《算法设计与分教学资料》第2章
划分策略示意图: 白色圆点:每组的中位数 点x:中位数的中位数 比x小的元素 至少3(n-5)/10个 比x大的元素 至少3(n-5)/10个 而当n≥75时,3(n-5)/10≥n/4所以按此基准划分所得的2个子数组的长度都至少缩短1/4。 Type Select(Type a[], int p, int r, int k) { if (r-p75) { 用某个简单排序算法对数组a[p:r]排序; return a[p+k-1]; }; for ( int i = 0; i=(r-p-4)/5; i++ ) 将a[p+5*i]至a[p+5*i+4]的第3小元素 与a[p+i]交换位置; //找中位数的中位数,r-p-4即上面所说的n-5 Type x = Select(a, p, p+(r-p-4)/5, (r-p-4)/10); int i=Partition(a,p,r, x), j=i-p+1; if (k=j) return Select(a,p,i,k); else return Select(a,i+1,r,k-j); } 复杂度分析 T(n)=O(n) 上述算法将每一组的大小定为5
您可能关注的文档
最近下载
- 2025年特许金融分析师超几何分布在不放回抽样中的应用专题试卷及解析.pdf VIP
- 2025年人教版高中三年级概率条件概率实际应用专题试卷及解析.docx VIP
- 2025年拍卖师行业自律组织的国际合作与交流专题试卷及解析.pdf VIP
- T502视频会议终端操作指导.pdf VIP
- 2017年刑法新规定224条.doc VIP
- 郑州商品交易所集团2026年秋季招聘笔试备考试题及答案解析.docx VIP
- 化工产品手册 第五版 树脂与塑料_部分4.pdf VIP
- CN119730342A 一种金刚石功率器件及其制备方法和电子装置 (深圳平湖实验室).pdf VIP
- 心脏外科术后重症管理指南(2026版).docx VIP
- DB31_T 1415-2023 既有多层住宅加装电梯使用管理规范.pdf VIP
原创力文档

文档评论(0)