- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.6 链式基数排序 278 用链表表示元素序列 109 063 930 589 184 505 269 008 083 e[0] e[1] e[2] e[3] e[4] e[5] e[6] e[7] e[8] e[9] f[0] f[1] f[2] f[3] f[4] f[5] f[6] f[7] f[8] f[9] 278 109 063 930 589 184 505 269 008 083 分配1 收集1 930 063 083 184 505 278 008 109 589 269 10.6 链式基数排序(续) 用链表表示元素序列 e[0] e[1] e[2] e[3] e[4] e[5] e[6] e[7] e[8] e[9] f[0] f[1] f[2] f[3] f[4] f[5] f[6] f[7] f[8] f[9] 083 930 505 184 269 分配2 收集2 505 008 109 930 063 269 278 083 184 589 930 063 083 184 505 278 008 109 589 269 063 278 008 109 589 10.6 链式基数排序(续) 用链表表示元素序列 e[0] e[1] e[2] e[3] e[4] e[5] e[6] e[7] e[8] e[9] f[0] f[1] f[2] f[3] f[4] f[5] f[6] f[7] f[8] f[9] 083 930 505 184 278 分配3 收集3 008 063 083 109 184 269 278 505 589 930 063 269 008 109 589 505 008 109 930 063 269 278 083 184 589 10.6 链式基数排序方法分析 采用链式存储,避免元素移动 时间复杂度:O(d(n+rd)),rd为每个关键字的基数 每一趟分配: O(n) 每一趟收集: O(rd) 共d趟: d(n+rd) 空间复杂度:O(rd) 2rd个队列指针 稳定的排序方法 适用于元素数目n很大且关键字很小的情况 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * 10.4.2 树形选择排序(Tree Selection Sort) 又称锦标赛排序(Tournament Sort):首先对n个记录的关键字两两进行比较,然后在n/2个较小者之间再进行两两比较,如此重复,直至选出最小关键字的记录。整个过程可用一个含有n个叶结点的二叉树表示。 例如 34 12 49 28 31 52 51 49* 12 28 31 49* 12 31 12 34 12 49 28 31 52 51 49* 2. 树形选择排序(Tree Selection Sort) 又称锦标赛排序(Tournament Sort):首先对n个记录的关键字两两进行比较,然后在n/2个较小者之间再进行两两比较,如此重复,直至选出最小关键字的记录。 选出最小记录后,将树中的该最小记录修改为∞,然后从该叶子结点所在子树开始,修改到达树根的路径上的结点 34 ∞ 49 28 31 52 51 49* 34 28 31 49* 28 31 28 34 ∞ 49 28 31 52 51 49* 2. 树形选择排序(Tree Selection Sort) 又称锦标赛排序(Tournament Sort):首先对n个记录的关键字两两进行比较,然后在n/2个较小者之间再进行两两比较,如此重复,直至选出最小关键字的记录。 选出最小记录后,将树中的该最小记录修改为∞,然后从该叶子结点所在子树开始修改到达树根的路径上的结点 以后每选出一个小元素,都只需进行(logn)次比较 34 ∞ 49 ∞ 31 52 51 49* 34 49 31 49* 34 31 31 34 ∞ 49 28 31 52 51 49* 树形选择排序的缺陷 需要较多的辅助空间 存在与“∞”进行比较的冗余比较 34 ∞ 49 ∞ 31 52 51 49* 34 49 31 49* 34 31 31 10.4.3 堆排序(Heap Sort) 只需要一个元素的辅助空间 算法的时间复杂度为O(nlogn) 堆的定义 对于n个元素的序列{k1,k2,...,kn},当且仅当满足以下关系时,称之为堆。 或 堆(完全二叉树) 96 83 38
文档评论(0)