代码c++最大堆最小堆

上传:ninthsisters 浏览: 43 推荐: 0 文件:DOC 大小:28KB 上传时间:2019-07-13 11:18:12 版权申诉
最大堆最小堆问题的提出给定k个排好序的序列S1,S2…,Sk,用2路合并算法将这k个序列合并成一个序列。假设所采用的2路合并算法合并2个长度分别为m和n的序列需要m+n-1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。原理分析这个程序比较适合用堆,最优用最小堆,最差用最大堆;以最优合并为例:(1)使用各序列的长度建堆;(2)两个最小的元素出堆,计算这两序列合并需要的比较次数,该次数入堆;(3)重复(2),直到堆只剩下一个元素;最后剩下的元素即为题目的解。
上传资源
用户评论

albert12838 2019-07-13 11:18:12

效率一般般!!!!!!!!!

zhengyan16145 2019-07-13 11:18:12

程序可以运行,能研究的可以下载看看

qqoutside20055 2019-07-13 11:18:12

我自己是按照定义去写的,所以看这个木有太看懂,不过我会努力看看的