* * * * * * * * * * * * * 第7章 排序 §7.1 引子 ?排序是很常见的一类问题(并不局限于排序本身) [例7.1] 有1亿个随机给出的浮点数,请找出其中最大的1万个。 方法1: 简单选择法 ? 总比较次数为N-1+(N-2)+…+(N-10000)次。当N为1亿时,大约为1万亿次。 “分而治之” 方法2: ? 比如,以1百万为一个块,分为100块,分别对这100块数据进行排序。由于只需要得到最大的1万个数,故每块排完后可以只要前1万个数,再从这100块共100万个数中取最大的1万个就可以了。 ? 当N为100万时,O(NlogN)是2000万,所以求解101块百万数据的排序问题,时间大约是20亿次运算。 堆选择 方法3: ? 先读出1百万个数,建立初始堆(100万运算量),对剩下的近1亿个数进行过滤:每次读入剩下的一个数,如果该数小于等于这1万个数的最小值,则继续读下一个数;否则,用该数替代1万个数里的最小值。 ? 100万(1百万建堆)+ 1亿(顺序过滤)+ 14 * 1千万,共约2.4亿。 (1万亿) (20亿) (2.4亿) N=1亿,log10000=14 过滤所有数据需要 14亿? No! 随机数将使得绝大多数 很快被排除!比如只有 大约1/10需要替换。 第7章 排序 §7.2 选择排序 ?简单选择排序 ? 时间复杂
您可能关注的文档
最近下载
- 2026年天津河东区高三一模高考语文试卷试题(含答案详解).docx
- 士林SF3系列通用变频器操作手册_V1.03.pdf
- 哔哩哔哩2024BW招商方案.pptx VIP
- 公共卫生间管理规范.docx VIP
- 深度解析(2026)《YST 1263.4-2018镍钴铝酸锂化学分析方法 第4部分:铝、铁、钙、镁、铜、锌、硅、钠、锰量的测定 电感耦合等离子体原子发射光谱法》.pptx VIP
- 武汉大学《测绘学概论》第三版简答题知识点汇总.docx VIP
- 2025年ICU护士循环系统监护模拟考试试题及答案解析.docx VIP
- 人工智能与信息社会(北京大学)超星学习通章节测试答案.doc VIP
- 修补门窗洞口施工方案.docx
- 脑脊液检查结果判读课件.pptx VIP
原创力文档

文档评论(0)