码迷,mamicode.com
首页 >  
搜索关键字:最小堆    ( 426个结果
java实现最小堆
1.堆:通常通过二叉堆,实为二叉树的一种,分为最小堆和最大堆,具有以下性质:任意节点小于它的所有后裔,最小元在堆的根上。堆总是一棵完全树 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。2.最小堆实现: 插入: 1) 将新插入的元素,放置到队列的尾部。 2) 若该元素小...
分类:编程语言   时间:2015-02-03 17:06:16    阅读次数:386
Coderforces 509B
背景:开始没有仔细想,后来@liu_jc 说简单遂1Y 思路:找出最大堆的鹅卵石数为max,最小堆数为min。如果max-min>=k,则成立。           证明:对最大堆编号为:a1,a2,a3~amin-1,amin~amax .对最小堆编号为:b1,b2~bmin.                     让a1和b1,a2和b2,......,amin和bmin颜色一样。 ...
分类:其他好文   时间:2015-02-01 17:52:30    阅读次数:199
二叉堆
二叉堆是一种特殊的堆,二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足堆特性:父节点的键值总是保持固定的序关系于任何一个子节点的键值,且每个节点的左子树和右子树都是一个二叉堆。当父节点的键值总是大于或等于任何一个子节点的键值时为最大堆。 当父节点的键值总是小于或等于任何一个子节点的键值时为最小堆。...
分类:其他好文   时间:2015-01-26 16:23:16    阅读次数:163
Google 面试题:Java实现用最大堆和最小堆查找中位数 Find median with min heap and max heap in Java
Google面试题股市上一个股票的价格从开市开始是不停的变化的,需要开发一个系统,给定一个股票,它能实时显示从开市到当前时间的这个股票的价格的中位数(中值)。SOLUTION 1:1.维持两个heap,一个是最小堆,一个是最大堆。2.一直使maxHeap的size大于minHeap.3. 当两边si...
分类:编程语言   时间:2015-01-23 08:19:44    阅读次数:5176
堆排序
1.堆:类似二叉树 数组对象 2.种类:    最大堆->A[PARENT(i)] >= A[i] 最小堆->A[PARENT(i)] 3.建堆:Heap_max_Build    保持堆性质:Heap_max_Ify     堆排序:Heap_max_Sort 4.Code #include #include #define PAR...
分类:编程语言   时间:2015-01-21 09:01:25    阅读次数:143
Leetcode Merge k Sorted Lists
Mergeksorted linked lists and return it as one sorted list. Analyze and describe its complexity.对于这道题,之前并不知道java中有一个封装好的数据结构--优先队列。优先队列其实相当于一个最大或最小堆,能...
分类:其他好文   时间:2015-01-18 18:24:56    阅读次数:210
二叉堆(Binary Heap)
一. 二叉堆的性质 堆是一种具有堆序性的完全二叉树. 作为一种完全二叉树, (假定空树的高度是-1)它的高度是floor(logN), 高度为h的结点有2^h到2^(h+1) - 1个, 父节点的下标为floor(i/2), 左孩子的下标为2i, 右孩子的下标为2i+1 而所谓堆序性就是(以最小堆为...
分类:其他好文   时间:2015-01-12 09:14:35    阅读次数:133
【算法导论】堆排序
(二叉)堆是一个数组,它可以被看成一个近似的完全二叉树。二叉堆可以分为两种形式:最大堆和最小堆。若将记录按从大到小排列,建“小”顶堆。若将记录按从小到大排,建“大”顶堆。说明:在堆排序算法中,我们使用的是最大堆,最小堆通常用于构造优先队列。算法分析:时间复杂度是O(nlogn)。堆排序属于原址排序:...
分类:编程语言   时间:2015-01-05 23:09:50    阅读次数:390
【算法设计与分析】8、哈弗曼编码,贪心算法实现
写这个玩意,我也是深深地感觉到自己数据结构的薄弱,可笑的是我一直以为学的还可以,结果一个堆结构就干了我半个月,才懂个大概= =,我也是醉了 BinaryTree.h二叉树的实现 /** * 书本:《算法分析与设计》 * 功能:这个头文件是为了实现二叉树 * 文件:BinaryTree.h * 时间:2014年12月15日18:35:51 * 作者:cutter_point */ // ...
分类:编程语言   时间:2015-01-04 10:12:18    阅读次数:242
堆以及堆排序
1. 堆 二叉堆是一个数组,它可以被看成一个近似的完全二叉树。 二叉堆有两种形式:最大堆和最小堆。在最大堆中,父节点的值总是大于等于任何一个子节点的值。因此,堆中的最大元素放在根节点中,并且在任一子树中,该字数包含的所有节点的值都不大于该子树根节点的值。最小堆是指父节点的值总是小于或等于任一子节.....
分类:编程语言   时间:2014-12-30 14:56:14    阅读次数:209
426条   上一页 1 ... 34 35 36 37 38 ... 43 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!