堆排序
小魚兒.
天下皆白,唯我独黑!
展开
-
9.7 堆排序基础知识准备
堆排序基础知识: #include <cstdio> //堆排序 //因为堆是一棵完全二叉树,固可用数组来表示 const int maxn=100; int heap[maxn],n=10;//heap 为堆,n为元素个数 //堆由上向下调整:将每个结点V与其孩子比较,若有比其大的,则交换他们的位置 //直到没有比他大的或没有孩子结点 //对heap数组在[low,high]...原创 2019-10-24 16:04:14 · 106 阅读 · 0 评论 -
PAT A1098 Insertion or Heap Sort (25 分)(插入排序还是堆排序)
1098 Insertion or Heap Sort (25 分) According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort remo...原创 2019-10-23 16:13:23 · 212 阅读 · 0 评论 -
Code Up 9.7问题 C: 合并果子(堆)(优先队列及堆实现)
问题 C: 合并果子(堆) 题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬...原创 2019-10-23 15:19:13 · 147 阅读 · 0 评论 -
Code Up 9.7问题 B: 序列合并(堆排序)
问题 B: 序列合并 题目描述 有两个长度都为N的序列A和B,在A和B中各取一个数相加可以得到N2个和,求这N2个和中最小的N个。 输入 第一行一个正整数N(1 <= N <= 100000)。 第二行N个整数Ai,满足Ai <= Ai+1且Ai <= 109 第三行N个整数Bi,满足Bi <= Bi+1且Bi <= 109 输出 ...原创 2019-10-22 16:04:24 · 180 阅读 · 0 评论 -
Code Up 9.7问题 A: 算法10-10,10-11:堆排序
问题 A: 算法10-10,10-11:堆排序 题目描述 堆排序是一种利用堆结构进行排序的方法,它只需要一个记录大小的辅助空间,每个待排序的记录仅需要占用一个存储空间。 首先建立小根堆或大根堆,然后通过利用堆的性质即堆顶的元素是最小或最大值,从而依次得出每一个元素的位置。 堆排序的算法可以描述如下: 在本题中,读入一串整数,将其使用以上描述的堆排序的方法从小到大排序,并输出。 ...原创 2019-10-22 15:01:00 · 371 阅读 · 0 评论