左式堆(Leftist Heaps)又称作最左堆、左倾堆。左式堆作为堆的一种,保留了堆的一些属性。第1,左式堆仍然以二叉树的形式构建;第2,左式堆的任意结点的值比其子树任意结点值均小(最小堆的特性)。但和一般的二叉堆不同,左式堆不再是一棵完全二叉树(Complete tree),而且是一棵极不平衡的...
分类:
其他好文 时间:
2015-03-12 18:45:31
阅读次数:
151
堆排序思想:堆排序,顾名思义,就是基于堆。堆分为最大堆和最小堆,事实上就是全然二叉树。最大堆要求节点的元素都要大于其孩子,最小堆要求节点元素都小于其左右孩子,两者对左右孩子的大小关系不做不论什么要求,事实上非常好理解。有了上面的定义,我们能够得知,处于最大堆的根节点的元素一定是这个堆中的最大值。事实...
分类:
编程语言 时间:
2015-03-12 16:52:55
阅读次数:
148
堆排序的时间复杂度是,具有空间原址性,即任何时候都只需要常数个额外的元素空间存储临时数据。一、堆二叉堆是一个数组,可看成一个近似的完全二叉树,树上的每个结点对应数组中的一个元素。除了最底层外,该树是完全充满的,而且是从左到右填充。二叉堆可以分为两种形式:最大堆和最小堆。在最大堆中除根节点外所有结点i...
分类:
编程语言 时间:
2015-03-11 19:04:58
阅读次数:
172
注:堆分为最大堆和最小堆两种,下面我们讨论的堆都是指的最大堆,最小堆的性质与其是类似的。堆数据结构是一种数组对象,可以被视为一棵完全二叉树(这棵二叉树除最后一层外,其余每层都是填满的);我们用一个数组来存储一个堆,表示堆的数组有两个属性:length[A]表示的是数组中的元素个数,headsize[A]表示堆中元素个数(也就是说数组中的元素不一定都是堆中的元素)。
下面不加证明的给出一些堆的性质:...
分类:
编程语言 时间:
2015-03-11 00:46:49
阅读次数:
192
二叉堆,是一个满二叉树,满足堆的性质。即父节点大于等于子节点(max heap)或者是父节点小于等于子节点(min heap)。二叉堆的如上性质常用于优先队列(priority queue)或是用于堆排序。
由于max heap 与min heap类似,下文只针对min heap进行讨论和实现。
如上图,是根据字母的ASCII码建立的最小堆。
我们用数组对满二叉树采用宽度优先遍历存储...
分类:
编程语言 时间:
2015-03-07 15:41:40
阅读次数:
178
二叉堆(以最小堆为例),其具有结构性质和堆序性质结构性质: 堆是一棵完全的二叉树,一颗高为h的完全二叉树有2^h到2^h-1个节点,高度为log N 而且该结构可以很容易的使用数组来表示:对于数组中任一位置i上的元素,其左儿子在位置2i上,右儿子在2i+1,其父节点在[x/2]处堆序性质:在一...
分类:
其他好文 时间:
2015-03-05 22:04:05
阅读次数:
178
#include #define pb push_back#define mp make_pair#define esp 1e-8//#define lson l, m, rt>>>>>\n";#define TL cerr MPS;typedef pair PII;typedef MPS::...
分类:
编程语言 时间:
2015-03-02 16:27:55
阅读次数:
237
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), ne...
分类:
编程语言 时间:
2015-02-18 14:04:12
阅读次数:
148
堆优先队列:特殊的”队列”,取出元素的顺序是依照元素的优先权(关键字)大小,而不是元素进入队列的先后顺序
堆是优先队列的完全二叉树表示。
堆的两个特性:
①结构性:用数组表示的完全二叉树
②有序性:任意结点的关键字是其子树所有结点的最大值,叫最大堆(或最小值,叫最小堆)(注意从根结点到任意结点路径上结点序列的有序性)下面举一个最大堆的例子。
/** 最大堆的操作 */
typedef st...
分类:
编程语言 时间:
2015-02-17 22:21:37
阅读次数:
231
最小堆的数组实现//**************minHeap.h****************////******最小堆的类定义和各操作的实现*******////C++源码#ifndef MINHEAP_H#define MINHEAP_H#include using namespace st...
分类:
编程语言 时间:
2015-02-16 18:17:05
阅读次数:
185