码迷,mamicode.com
首页 >  
搜索关键字:满二叉树 完全二叉树    ( 1098个结果
数据结构—堆
堆是二叉树中的一种,是一种常见的数据结构,具有以下性质:任意节点小于(最小堆)或大于(最大堆)它的所有后裔,最小元或最大元在堆的根上(堆序性)。堆总是一棵完全二叉树 最大堆如图一,最小堆如图二。 最小堆的实现如下: MinHeap.h 1 #include "stdafx.h" 2...
分类:其他好文   时间:2014-09-30 18:57:49    阅读次数:188
给定一颗完全二叉树,给每一层添加上next的指针,从左边指向右边
给你机会发出声音,但是不给你机会证明高层的决定是错的RT: 时间复杂度O(n) 空间复杂度O(1)原理就是有指针指向父节点和当前的节点,左孩子必指向右孩子,右孩子必指向父节点的下一个节点的左孩子void Solution::yahooTree(TreeNode *root){ if (root...
分类:其他好文   时间:2014-09-28 15:36:12    阅读次数:201
编程判断一个树是完全二叉树(使用层次遍历实现)
完全二叉树:一棵具有N个节点的二叉树的结构与满二叉树的前N个节点的结构相同 如何判断一个树是完全二叉树 可以使用层序遍历,只需2个步骤 第一步:如果遍历到一个节点只有右子树没有左子树,则不是完全二叉树 第二部:如果遍历到一个节点只有左子树,那么后面遍历到的节点必须是叶子节点,否则也不是完全二叉树 排除以上两种情况,则树是完全二叉树 核心代码: //层序遍历 int L...
分类:其他好文   时间:2014-09-27 21:59:03    阅读次数:401
一篇能够加深对胜者树和败者树理解的文章
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。 胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。...
分类:其他好文   时间:2014-09-25 23:56:08    阅读次数:279
小猴子下落
小猴子下落 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关...
分类:其他好文   时间:2014-09-21 20:05:01    阅读次数:196
最小堆排序
//////最小堆排序,把所有的排序元素放在数组中。构成一个完全二叉树。///publicclassMyHeapSort{//////创建最小堆////////////publicvoidCreateHeap(Listlist,intlow,inthigh){inttemp=0;intk=0;//从...
分类:其他好文   时间:2014-09-19 19:05:55    阅读次数:220
二叉堆
常见的堆实现为二叉堆(Binary Heap),其实际上是一颗二叉树(Binary Tree),并且是一颗完全二叉树(Complete Binary Tree)。当堆被实现为完全二叉树时,其高度为最小高度。如果堆中有 n 个节点,则最小高度为 Θ(lg n)。
分类:其他好文   时间:2014-09-17 20:17:52    阅读次数:352
二叉树的构造
树是一种非线性的数据结构,树有根节点,子树等概念。 二叉树(Binary Tree):每个节点最多有两颗子树,并且子树有左右之分。 概念:树的深度,满二叉树,完全二叉树,树的节点树 二叉树包括顺序存储和链式存储,这里只说链式存储。二叉树的每个节点和双链表有些类似,但是树的结构要比双链表复杂,在构造树的过程中涉及到递归调用的问题,递归的问题往往是很复杂的问题,因此,这里单独说二叉树的构建。 ...
分类:其他好文   时间:2014-09-15 19:36:19    阅读次数:142
【LeetCode题目记录-7】为完全二叉树添加层指针
为完全二叉树添加层指针...
分类:其他好文   时间:2014-09-15 17:48:49    阅读次数:227
堆排序+代码实现
堆排序 堆,heap,是二叉树的一种。小根堆有这样的性质——任意一个结点的值比它的左右孩子都要小。 排序思想 将待排元素看作是完全二叉树,物理上用一维数组存储。 实现堆排序需要解决两个问题: 1.如何将杂乱的完全二叉树初始化为一个堆? 答:从最后一个非叶结点起,将该节点当做根,自上而下进行调整,使之成为一个堆。然后依次对倒数第二个、倒数第三个、直至正数第一个结点进行此操作。 2.输出...
分类:其他好文   时间:2014-09-09 12:59:48    阅读次数:165
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!