算法导论6.5-8堆排序-K路合并
来源:互联网 发布:软件测试高级证书 编辑:程序博客网 时间:2024/05/15 06:50
一、题目
请给出一个时间为O(nlgk)、用来将k个已排序链表合成一个排序链表算法。此处n为所有输入链表中元素的总数。(提示:用一个最小堆来做k路合并)
二、步骤
step1:取每个链表的第一个元素,构造成一个含有k个元素的堆
step2:把根结点的值记入排序结果中。
step3:判断根结点所在的链表,若该链表为空,则go to step4,否则go to step5
step4:删除根结点,调整堆,go to step2
step5:把根结点替换为原根结点所在链表中的第一个元素,调整堆,go to step 2
三、代码
产品代码
测试代码
可以使用git工具下载、更新、提交、评论代码
- 算法导论6.5-8堆排序-K路合并
- 算法导论6.5-8堆排序-K路合并
- 算法导论 第六章 堆排序 习题6.5-8 k路合并排序
- 算法导论6.5-8习题解答(最小堆K路合并)
- “用最小堆将k个已排序链表合并为一个排序链表”(算法导论 练习6.5-9)
- 算法导论 堆排序
- 算法导论--堆排序
- 【算法导论】 堆排序
- 算法导论-----堆排序
- 【算法导论】堆排序
- 算法导论-堆排序
- 堆排序--算法导论
- 算法导论:堆排序
- 算法导论:堆排序
- 【算法导论】堆排序
- 算法导论--堆排序
- 算法导论 堆排序
- 【算法导论】 堆排序
- Oracle10g的闪回恢复区(Flash recovery area)
- Java程序员从笨鸟到菜鸟之(八十三)细谈Spring(十二)OpenSessionInView详解及用法
- makefile
- 苦逼的指针总结
- 用ATL写简单的ActiveX控件
- 算法导论6.5-8堆排序-K路合并
- 颠倒栈 {5,4,3,2,1}-->{1,2,3,4,5}
- 队列化消息和非队列化消息
- 日期格式化
- Ubuntu11.10下配置android4.0.3编译环境
- WebLogic 简介及安装与配置指南
- Struts2完整配置文件带注释(开发项目期间最实用)
- strcmp的实现
- Android创建和删除桌面快捷方式