本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90941941 1098 Insertion or Heap Sort (25 分) 1098 Insertion or Heap Sort (25 分) 1098 ...
分类:
编程语言 时间:
2019-06-05 22:07:39
阅读次数:
122
1、算法介绍 1.1、数据结构——堆 堆是一种近似完全二叉树的数据结构,其主要性质是:节点值大于等于(小于等于)其子节点的值。 大顶堆:节点值大于等于其子节点的值,用于升序排序。 小顶堆:节点值小于等于其子节点的值,用于降序排序。 1.2、堆的构建 1.3、算法步骤 (1)未排序序列构建堆 (2)堆 ...
分类:
编程语言 时间:
2019-05-29 14:20:29
阅读次数:
116
堆排序很重要,但是更重要的是堆这个结构 堆结构:实际上是一棵完全二叉树 一个数组可以根据父结点、左子结点、右子结点的关系,脑补出一棵完全二叉树 算法1:一个数组变为大顶堆 heapInsert() 数组:2、1、3、6、0、4 (1)只有2的时候 (2) 2、1【认为完全二叉树的范围是0~1的,超过... ...
分类:
编程语言 时间:
2019-05-07 22:56:46
阅读次数:
174
Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现 ...
分类:
编程语言 时间:
2019-05-02 21:21:39
阅读次数:
181
一、动图演示 二、思路分析 先来了解下堆的相关概念:堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图: 同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子 该数组从逻辑 ...
分类:
编程语言 时间:
2019-04-20 15:40:51
阅读次数:
185
对于海量数据与数据流,用最大堆,最小堆来管理。 ...
分类:
其他好文 时间:
2019-04-08 13:27:51
阅读次数:
157
1.make_heap()make_heap()用于把一个可迭代容器变成一个堆,默认是大顶堆。它有三个参数。第一个参数是指向开始元素的迭代器,第二个参数是指向最末尾元素的迭代器,第三个参数是less()或是greater(),前者用于生成大顶堆,后者用于生成小顶堆,第三个参数默认情况下为less()... ...
分类:
其他好文 时间:
2019-03-30 18:34:20
阅读次数:
214
(from wikipedia) 构建步骤: 下面举例说明: 给定一个列表array=[16,7,3,20,17,8],对其进行堆排序。 首先根据该数组元素构建一个完全二叉树,得到 然后需要构造初始堆,则从最后一个非叶节点开始调整,调整过程如下: 第一步: 初始化大顶堆(从最后一个有子节点开始往上调 ...
分类:
其他好文 时间:
2019-03-29 23:35:59
阅读次数:
201
第一次了解到堆排序 和完全二叉树有关 详情见代码 关于堆的建立 小顶堆 父节点小于子结点 大顶堆 父节点大于子结点 ...
分类:
其他好文 时间:
2019-02-17 16:43:27
阅读次数:
177
2019-02-07 lyd字符串hash 学了Manacher算法 2019-02-08 今天去了趟姥姥家 晚上学了一下kmp算法 2019-02-09 继续学kmp+exkmp 2019-02-10 今天去喝喜酒,今天真的好烦,我不会喝酒,他们都在喝,所以对我有种讨厌的感觉,在酒桌上的感觉就要死 ...
分类:
其他好文 时间:
2019-02-15 01:24:59
阅读次数:
183