码迷,mamicode.com
首页 >  
搜索关键字:完全二叉树    ( 970个结果
堆排序 Heapsort
Prime + Heap 简直神了 时间优化好多,顺便就把Heapsort给撸了一发 具体看图 Heapsort利用完全二叉树+大(小)顶锥的结构每次将锥定元素和锥最末尾的元素交换 同时大(小)顶锥元素数 -1,迭代n-1次级OK了 我这里的是按从小到大拍的 ...
分类:编程语言   时间:2016-08-06 14:24:26    阅读次数:218
偷懒的桐桐(递归)
偷懒的桐桐 时间限制: 1 Sec 内存限制: 64 MB提交: 26 解决: 9[提交][状态][讨论版] 题目描述 桐桐的老师布置桐桐写一个小根堆,但是桐桐不会堆的操作,所以想了一个偷懒的办法:堆 是一棵完全二叉树,每个结点有一个权。小根堆的根的权最小,且根的两个子树也是一个堆。可以用一个数组a ...
分类:其他好文   时间:2016-08-06 14:17:36    阅读次数:212
偷懒的桐桐
偷懒的桐桐 题目描述 桐桐的老师布置桐桐写一个小根堆,但是桐桐不会堆的操作,所以想了一个偷懒的办法:堆是一棵完全二叉树,每个结点有一个权。小根堆的根的权最小,且根的两个子树也是一个堆。可以用一个数组a来记录一棵完全二叉树,a[1]为根结点,若结点a[j]不是根结点,那么它的父亲为a[j div 2] ...
分类:其他好文   时间:2016-08-06 00:31:34    阅读次数:253
求一棵完全二叉树的节点数(不通过遍历)
分析:完全二叉树特点:完全二叉树的倒数第二层一定全部都是满的步骤1、先求出这颗树的高度2、在求根结点的右子树的高度(找根结点右子树的最左结点)3、这样就会出现两种情况,一种是左子树的高度和右子树的高度相等,则说明左子树是满二叉树,可用公式求出,再把这个节点的右..
分类:其他好文   时间:2016-08-05 01:07:15    阅读次数:108
入手线段树 hdu1754
创建线段树(初始化)】: 由于线段树是用二叉树结构储存的,而且是近乎完全二叉树的,所以在这里我使用了数组来代替链表上图中区间上面的红色数字表示了结构体数组中对应的下标。 在完全二叉树中假如一个结点的序号(数组下标)为 I ,那么 (二叉树基本关系) I 的父亲为 I/2, I 的另一个兄弟为 I/2 ...
分类:其他好文   时间:2016-08-02 15:12:40    阅读次数:133
优先队列(堆实现)
优先队列由二叉堆实现是很普遍的事情。 下面我把二叉堆也称作为堆。 堆是一棵被完全填满的二叉树,一棵高为h的二叉树2h到2h+1-1个节点。这意味着完全二叉树的高时log N。 因为完全二叉树很有规律,所有它可以用一个数组来表示,而不需要指针 对于这棵树,我们可以这样表示。 对于数组中任意一个位置 i ...
分类:其他好文   时间:2016-07-30 12:06:39    阅读次数:148
题目1176:树查找
题目1176:树查找 时间限制:1 秒 内存限制:32 兆 题目描述: 有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。 输入: 输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。 输出: 输出该树 ...
分类:其他好文   时间:2016-07-24 17:55:47    阅读次数:121
数据结构——完全二叉树与(最小)堆
完全二叉树(堆)和满二叉树的结构: 满二叉树的判断: 二叉树的层次遍历。 完全二叉树的判断: 二叉树的层次遍历。 堆的增删改查: 增:按照次序从最右边节点插入,从下往上冒泡。 删:将最右下角元素置于堆顶,从上往下冒泡。 改:增+删 查:O(logN) ...
分类:其他好文   时间:2016-07-24 10:30:59    阅读次数:149
5.2二叉树
满二叉树:在不增加树的层数的前提下,无法再多添加一个结点的二叉树,就是满二叉树。 完全二叉树:如果只是删除了满二叉树最底层最右边的连续若干个结点,这样形成的二叉树就是完全二叉树。 二叉树的存储: 顺序存储: 优点:查找某个结点的父结点和子结点(包括判断有没有子结点)速度很快 缺点:耗用内存空间过大 ...
分类:其他好文   时间:2016-07-24 06:57:45    阅读次数:151
[算法学习笔记]排序算法——堆排序
堆排序堆排序(heapsort)也是一种相对高效的排序方法,堆排序的时间复杂度为O(n lgn),同时堆排序使用了一种名为堆的数据结构进行管理。二叉堆 二叉堆是一种特殊的堆,二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足堆特性:父节点的键值总是保持固定的序关系于任何一个子节点的键值,且每个节点的左子树和右子树都是一个二叉堆。 如上图显示,(a)是一个二叉堆(最大堆), (b)是这个二叉堆...
分类:编程语言   时间:2016-07-23 23:07:31    阅读次数:473
970条   上一页 1 ... 55 56 57 58 59 ... 97 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!