1. 首页
  2. 课程学习
  3. C++/C
  4. 代码c++最大堆最小堆

代码c++最大堆最小堆

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

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

码姐姐匿名网友 2019-07-13 11:18:12

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

码姐姐匿名网友 2019-07-13 11:18:12

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