已知一棵完全二叉树, 求其节点的个数要求: 时间复杂度低于O(N), N为这棵树的节点个数 结论:满二叉树:高度为L,结点个数 2^L - 1个 先遍历左边界,求出完全二叉树的高度h 然后遍历树的右子树的左边界,看它到没到最后一层, 如果到了最后一层,那么证明它的左子树是满的,高度是h-1 左子树的 ...
分类:
其他好文 时间:
2018-04-26 01:15:36
阅读次数:
167
题目: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 此题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。 示例: 思路:采用二分法来创建平衡二叉树,根结点刚好为数组中间的节点,根节点的左子树的根是数组左边部分的中间节点,根节点的右子树是数据右边部 ...
分类:
编程语言 时间:
2018-04-16 20:39:41
阅读次数:
284
定义:每个节点的左右子树的高度最多差1的二叉查找树。(空树的高度为-1)。 AVL树保证树的高度只比log(N)多一点,因此除了插入删除外,可以保证所有的树操作都以O(logN)执行。 当插入一个节点的时候,只有那些从插入点到根节点路径上的点的平衡性可能被破坏,在最深的不满足平衡性的节点进行平衡操作 ...
分类:
其他好文 时间:
2018-04-12 22:15:39
阅读次数:
155
实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。注意: next() 和hasNext() 操作的时间复杂度是O(1),并使用 O(h) 内存,其中 h 是树的高度。 详见:https://leetcode.com/probl ...
分类:
其他好文 时间:
2018-04-07 16:07:42
阅读次数:
124
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。此题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例:给定有序数组: [-10,-3,0,5,9],一种可行答案是:[0,-3,9,-10,null,5],它可以表示成下面这个高度平衡二叉搜索树: 0 ...
分类:
编程语言 时间:
2018-04-04 23:17:29
阅读次数:
243
令人窒息的奶牛题 题目描述 农民约翰准备购买一群新奶牛。 在这个新的奶牛群中, 每一个母亲奶牛都生两个小奶牛。这些奶牛间的关系可以用二叉树来表示。这些二叉树总共有N个节点(3 <= N < 200)。这些二叉树有如下性质: 每一个节点的度是0或2。度是这个节点的孩子的数目。 树的高度等于K(1 < ...
分类:
其他好文 时间:
2018-03-30 10:17:44
阅读次数:
149
set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。平衡二叉检索树使用中序遍历算法,检索效率高于vector、 ...
分类:
其他好文 时间:
2018-03-22 19:19:25
阅读次数:
200
``` package Tree; / 平衡二叉树 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质: 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树 ...
分类:
其他好文 时间:
2018-03-22 14:09:21
阅读次数:
153
数据库索引到底是什么,是怎样工作的? - CSDN博客http://blog.csdn.net/weiliangliang111/article/details/51333169MySQL索引原理及慢查询优化 -https://tech.meituan.com/mysql-index.html数据库 ...
分类:
数据库 时间:
2018-03-19 16:50:39
阅读次数:
301
[CodePlus 2017 11月赛&洛谷P4058]木材 Description 有 n棵树,初始时每棵树的高度为 Hi ,第 i棵树每月都会长高 Ai。现在有个木料长度总量为 S的订单,客户要求每块木料的长度不能小于 L ,而且木料必须是整棵树(即不能为树的一部分)。现在问你最少需要等多少个月 ...
分类:
其他好文 时间:
2018-03-11 14:26:38
阅读次数:
144