Counter类:计数器IntPk中包含主键publicclassCounterextendsIntPK{
privateintcount;
publicintgetCount(){
returncount;
}
publicvoidsetCount(intcount){
this.count=count;
}
}MinHeap类:最小堆排序类packagecom.ryx.incantation.model;
importcom.ryx.incantation.en..
分类:
编程语言 时间:
2014-12-28 02:01:43
阅读次数:
232
Merge k Sorted ListsMergeksorted linked lists and return it as one sorted list. Analyze and describe its complexity.多路归并。1、用make_heap函数维护一个大小为k的最小堆。注:...
分类:
其他好文 时间:
2014-12-20 11:34:12
阅读次数:
163
注:本节主要讨论最大堆(最小堆同理)。一、堆的概念 堆,又称二叉堆。同二叉查找树一样,堆也有两个性质,即结构性和堆序性。 1、结构性质: 堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树(complete binary tree)。下图就是这样一个例...
分类:
其他好文 时间:
2014-11-28 15:49:09
阅读次数:
238
听说有一种最小(大)堆,不限于是完全二叉树,而是完全D叉树,名为D-ary Heap(http://en.wikipedia.org/wiki/D-ary_heap)。D可以是1,2,3,4,100,对于优先队列该有的功能都没有问题。 动手写一个D-ary Heap,应该不难。简单起见,不考虑...
分类:
其他好文 时间:
2014-11-27 00:00:48
阅读次数:
519
实现了 Prime算法求最小生成树 (邻接表)的普通算法和最小堆优化算法。...
分类:
编程语言 时间:
2014-11-26 21:02:49
阅读次数:
663
实现了 Prime算法求最小生成树 (邻接矩阵)的普通算法和最小堆优化算法。...
分类:
编程语言 时间:
2014-11-26 14:20:25
阅读次数:
342
TopK问题,即寻找最大的K个数,这个问题非常常见,比如从1千万搜索记录中找出最热门的10个关键词.
方法一:
先排序,然后截取前k个数.
时间复杂度:O(n*logn)+O(k)=O(n*logn)。
方法二:
最小堆.
维护容量为k的最小堆.根据最小堆性质,堆顶一定是最小的,如果小于堆顶,则直接pass,如果大于堆顶,则替换掉堆顶,并heapify整理堆,其中heapify...
分类:
编程语言 时间:
2014-11-21 18:42:10
阅读次数:
225
看书、思考、写代码!
/*********************************************
* copyright@hustyangju
* blog: http://blog.csdn.net/hustyangju
* 题目:堆排序实现,另外实现接口:取堆最大值并删除、堆插入
* 思路:堆是在顺序数组原址上实现的,利用完全二叉树的性质,更具最大堆和最小堆的定义实...
分类:
编程语言 时间:
2014-11-21 12:42:16
阅读次数:
171
Libevent中的timeout事件是使用最小堆来管理维护的.代码位于.看函数命名和代码风格应该是一个C++程序员,函数名都挺好懂的,只是下面这个结构体变量命名比较坑....typedef struct min_heap{ struct event** p; unsigned n, a...
分类:
其他好文 时间:
2014-11-18 00:17:50
阅读次数:
239
注:本节主要讨论最大堆(最小堆同理)。
一、堆的概念
堆,又称二叉堆。同二叉查找树一样,堆也有两个性质,即结构性和堆序性。
1、结构性质:
堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树(complete binary tree)。下图就是这样一个例子。
对于完全二叉树,有这样一些...
分类:
其他好文 时间:
2014-11-07 13:08:12
阅读次数:
266