社区
数据结构与算法
帖子详情
用链表建堆
Leguroky
2010-07-19 08:55:28
我在网上查不多这方面的资料,我能想到的,都是以快速排序方法为基础来实现合并、查找、插入等操作,大家有更好的方法吗?
...全文
163
10
打赏
收藏
用链表建堆
我在网上查不多这方面的资料,我能想到的,都是以快速排序方法为基础来实现合并、查找、插入等操作,大家有更好的方法吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kindlucy
2010-07-21
打赏
举报
回复
参考算法导论的 二项堆,对堆的合并的复杂度是O(lgn)
Leguroky
2010-07-21
打赏
举报
回复
[Quote=引用 5 楼 aaa20090987 的回复:]
引用 4 楼 leguroky 的回复:
主要是找最大值,提出最大值(就像堆排序那样),还有就是两个堆的合并。
用一个左偏树就行
[/Quote]
这里仅仅是讨论链表建堆,应该用不上左偏树吧。
Leguroky
2010-07-21
打赏
举报
回复
[Quote=引用 9 楼 kindlucy 的回复:]没看到那呢……看来也只能这样了,多谢。
参考算法导论的 二项堆,对堆的合并的复杂度是O(lgn)
[/Quote] 0
超级大笨狼
2010-07-20
打赏
举报
回复
链表要有索引,就想数组一样用。
i是根的话,2i+1右节点,2i左节点,参考算法导论前几章排序的部分建堆的办法。
有下降操作,可以保证堆的顺序。
AAA20090987
2010-07-20
打赏
举报
回复
[Quote=引用 4 楼 leguroky 的回复:]
主要是找最大值,提出最大值(就像堆排序那样),还有就是两个堆的合并。
[/Quote]
用一个左偏树就行
Leguroky
2010-07-20
打赏
举报
回复
主要是找最大值,提出最大值(就像堆排序那样),还有就是两个堆的合并。
Leguroky
2010-07-20
打赏
举报
回复
[Quote=引用 6 楼 superdullwolf 的回复:]
链表要有索引,就想数组一样用。
i是根的话,2i+1右节点,2i左节点,参考算法导论前几章排序的部分建堆的办法。
有下降操作,可以保证堆的顺序。
[/Quote]
这样是不错,不过要是两个堆合并呢?怎么处理,尤其是两个堆没有交叉的时候?我能想到的也只有重复插入操作了,有更好的思路吗?
flylee
2010-07-19
打赏
举报
回复
需要支持多大的数据量,有哪些功能需求
aduxiaozi
2010-07-19
打赏
举报
回复
啥意思啊,链表建堆?
饭fan有引力
2010-07-19
打赏
举报
回复
友情帮顶
堆排序的c语言程序供人下载
1. **
建堆
**:将待排序序列构造成一个大顶堆,此时整个序列的最大值就是堆顶的根节点。 2. **调整堆**:将堆顶元素与末尾元素交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,重复执行此操作直到堆...
cl.zip_algorithms
- **操作**:主要操作有
建堆
、插入元素(heapify)、删除元素(extract-root)和调整堆(shift-down/shift-up)。 - **C语言实现**:通常使用数组来模拟堆,因为数组的索引关系与二叉树的父子节点关系对应。 2. *...
用
链表
表示的可合并最大堆
说明在下列前提下如何用
链表
实现可合并堆。试着使各操作尽可能高效。分析每个操作按动态集合规模的运行时间。 由于对于堆操作需要查找父结点,以及左右孩子结点,所以本程序中用到了非递归非辅助栈的遍历与查找操作...
堆排序之“用最小堆将k个已排序
链表
合并为一个排序
链表
”
问题:请给出一个时间为O(nlgk),用来将k个已排序
链表
合并为一个排序
链表
的算法。此处的n为所有输入
链表
中...
建堆
的时间复杂度O(k)。 (2)堆顶元素就是k个
链表
中最小的那个元素,取出它。时间复杂度O(1)。
链式结构实现堆排序
在很多数据结构和算法的书上,“堆排序”的实现都是建立在数组上,数组能够通过下标访问其元素,其这一特性在堆排序的实现上,使得其编码实现比链式结构简单,下面我利用
链表
实现堆排序。 在“堆”这种数据结构中,...
数据结构与算法
33,028
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章