JYP * 分析:设2k–1≤n 2k,则与记录表对应的完全二叉树有k层,第i层的结点数≤2i–1。第一个for循环对每个有子女的结点调用adjust一次。该循环的时间不大于各层结点数与该层结点可移动的最大距离的积之和,即 第二个for循环调用adjust共n–1次,最大深度为 ?log2(n+1)?。 因此,堆排序的总计算时间是O(n log n)。 而且,只需要O(1)辅助空间。 JYP * 作业:P259—16 JYP * 7.7 基数排序 当n个记录的关键字list[i].key(0≤in)的取值是0到n–1范围内的整数时,可以用下列代码对其排序: for (int i = 0; i n; i++) result[list[i].key] = list[i]; 这里用关键字值来确定记录在最终就序数组中的位置。这就是最基本的箱排序。 其中,我们为n个关键字值安排n个箱子,并根据关键字值将记录分配到对应的箱中。 此方法效率极高,无论记录关键字的初始顺序如何,只需要O(n) 时间即可完成排序。 JYP * 在实际应用中,一个箱子可以存放多个记录,同时关键字的取值范围不必与n直接关联。 为了有效地利用箱排序的思想,可以将关键字解释为多个子关键字:K0,
您可能关注的文档
- 21世纪高等继续教育精品教材 教育管理学(罗双凤 叶安珊).ppt
- 植物生理学电子教案(西南师范大学).ppt
- 第二章 蛋白质化学 要点:1氨基酸的通式及分类 2肽键的形成 3蛋白质的一级结构及空间结构的关系 4变性的本质及应用.ppt
- 管理经济学 Managerial Economics(刘芳,张完定).ppt
- 第一章 蛋白质化学 第一节~第六节(胡疆).ppt
- 程序设计 第7章 间接访问---指针.ppt
- 水电解质代谢紊乱 第一节 水、钠代谢障碍 第二节 正常钾代谢及钾代谢障碍.ppt
- 医药化学基础 第五章 脂肪烃 5.1烷烃 5.2环烷烃 5.3烯烃 5.4二烯烃 5.5 炔烃.ppt
- 生物化学与分子生物学 第十七章 蛋白质的生物合成.ppt
- 如何使用MATLAB求解微分方程(组).pdf
原创力文档

文档评论(0)