码迷,mamicode.com
首页 >  
搜索关键字:树的高度    ( 568个结果
【算法】如何判断一个二叉树是平衡二叉树
题目:如何判断一个二叉树是平衡二叉树 定义: 平衡二叉树(AVL):1、空二叉树是AVL树;                                        2、如果T是一颗非空的二叉搜索树,TL和TR分别是其左子树和右子树,那么当T满足一下条件时,T是一颗AVL树:(1)TL和TR是AVL树;(2)|HL-HR|《=1,HL和HR分别是左子树和右子树的高度 示例: 算...
分类:编程语言   时间:2015-02-04 16:34:19    阅读次数:145
算法系列笔记4(红黑树)
随机构建的二叉查找树的高度期望值为O(lgn),并不代表所有的二叉查找树的高度都为O(lgn)。但是对于有些二叉查找树的变形来说,动态集合各基本操作的性能却总是很好的,如红黑树、B树、平衡二叉树(AVL树)、跳跃表(确切的说不是树,或多或少有树的结构)、treaps(树堆)等。这里我们讲解红黑树。        平衡的意思就是完成动态数据集的操作(minimum、maximum、search、p...
分类:编程语言   时间:2015-02-03 23:03:09    阅读次数:293
【转】浅谈算法和数据结构: 九 平衡查找树之红黑树
http://www.cnblogs.com/yangecnu/p/3627386.html前面一篇文章介绍了2-3查找树,可以看到,2-3查找树能保证在插入元素之后能保持树的平衡状态,最坏情况下即所有的子节点都是2-node,树的高度为lgN,从而保证了最坏情况下的时间复杂度。但是2-3树实现起来...
分类:编程语言   时间:2015-01-18 18:27:08    阅读次数:354
【BST】判断节点r和s是不是一个为祖先,另一个为后代
题目:EPI 书上的代码我认为有错。我的代码如下所示,时间复杂度为O(h),h为二叉树的高度。 //该函数不允许r和s为nullptr,且要求r、m、s三个指针互不相等 bool is_r_s_descendant_and_ancestor(shared_ptr r, shared_ptr m, shared_ptr s) { if (m == nullptr || r == nul...
分类:其他好文   时间:2015-01-18 14:27:37    阅读次数:265
[C++]LeetCode: 100 Convert Sorted Array to Binary Search Tree (AVL树)
题目:Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 思路:给出一个排序的数组,如何构造一个平衡二叉查找树?平衡二叉查找树要求任一结点的左右子树的高度差不能超过一,也叫做高度平衡树。如果让我们从一个排序数组中选取一个元素做树的根,我们会选择哪一个...
分类:编程语言   时间:2015-01-16 16:51:25    阅读次数:237
SGU-448 Controlled Tournament ( 状态DP )
输入比赛人员个数 N 和你希望赢的人的编号 M, 然后输入 N * N 的输赢表,第 i 行 第 j  列为 1,代表 i 能赢 j。 求 M 最后能赢,且总比赛树的高度最小为 h 时,一共有多少种可能。 比如输入: 7 2 0 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0...
分类:其他好文   时间:2015-01-15 23:54:08    阅读次数:187
【算法导论】红黑树详解之一(插入)
红黑树是建立在二叉查找树的基础之上的,关于二叉查找树可以参看【算法导论】二叉搜索树的插入和删除和【算法导论】二叉树的前中后序非递归遍历实现。对于高度为h的二叉查找树而言,它的SEARCH、INSERT、DELETE、MINIMUM、MAXIMUM等操作的时间复杂度均为O(h)。所以在二叉查找树的高度较高时,上述操作会比较费时,而红黑树就可以解决这种问题。...
分类:编程语言   时间:2015-01-14 12:49:51    阅读次数:1480
AVL树
一. 介绍 在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. Landis,他们在196...
分类:其他好文   时间:2015-01-14 12:43:01    阅读次数:194
二叉堆(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
【BZOJ3831】【POI2014】Little Bird 单调队列,''再不刷它就土了''系列。
题意: 我直接粘bzoj的黑版翻译吧~ 有一排n棵树,第i棵树的高度是Di。 MHY要从第一棵树到第n棵树去找他的妹子玩。 如果MHY在第i棵树,那么他可以跳到第i+1,i+2,...,i+k棵树。 如果MHY跳到一棵不矮于当前树的树,那么他的劳累值会+1,否则不会。 为了有体力和妹子玩,MHY要最小化劳累值。 题解: 单调队列破题水,没了。 话说BZOJ的POI一向土豪...
分类:其他好文   时间:2015-01-08 09:38:42    阅读次数:159
568条   上一页 1 ... 49 50 51 52 53 ... 57 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!