1 int GetHeight(BinTree BT) 2 { 3 int HL, HR, MaxH; 4 5 if(BT) 6 { 7 HL = GetHeight(BT->Left); //求左子树的高度 8 HR = GetHeight(BT->Right); //求右子树的高度 ... ...
分类:
其他好文 时间:
2018-09-30 12:43:44
阅读次数:
179
1.描述一个算法优劣用计算次数的数量级。1M/1G/1T。与问题相关的规模用nT(n)=n^2/n^3 2.常见的时间复杂度(用大O表示法表示)常数阶 O(1) 线性阶 O(n)平方阶 O(n^2)对数阶 O(logn)nlogn阶 O(nlogn)立方阶 O(n^3)指数阶 O(2^n ) O(1 ...
分类:
编程语言 时间:
2018-09-25 21:51:54
阅读次数:
143
问题描述: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3,nu ...
分类:
其他好文 时间:
2018-09-09 19:47:29
阅读次数:
149
问题描述: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 思路:由于数组是有序数组,所以只需用二分法构造即可,mid即为根节点,0:mid 的中间点为左子树的根节点,mid+1:末尾 ...
分类:
编程语言 时间:
2018-09-09 16:47:56
阅读次数:
165
二叉查找树(Binary Search Tree)又叫二叉排序树(Binary Sort Tree),它是一种数据结构,支持多种动态集合操作,如 Search、Insert、Delete、Minimum 和 Maximum 等。 二叉查找树要么是一棵空树,要么是一棵具有如下性质的非空二叉树: 若左子 ...
分类:
编程语言 时间:
2018-09-08 22:29:50
阅读次数:
200
110. 平衡二叉树 https://leetcode-cn.com/problems/balanced-binary-tree/description/ 速度不是特别快,把树的高度缓存了,还是不快: ...
分类:
其他好文 时间:
2018-09-02 01:53:59
阅读次数:
144
一、平衡二叉树是带有平衡条件的二叉查找树 平衡条件:平衡二叉树的每个结点的左子树和右子树的高度最多差1。 平衡因子 bf :左子树的高度减去右子树的高度,显然 bf 的取值范围是 [ -1, 1 ] 。每一个结点(在其结点结构中)保留平衡因子 bf 。 补:虽然平衡二叉树能确保树的高度为O(logn ...
分类:
其他好文 时间:
2018-09-01 22:00:10
阅读次数:
171
在学习算法的过程中,二叉平衡树是一定会碰到的,这篇博文尽可能简明易懂的介绍下二叉树的相关概念,然后着重讲下什么事平衡二叉树。 (由于作图的时候忽略了箭头的问题,正常的树一般没有箭头,虽然不影响描述的过程,但是还是需要注意,所以还请读者忽略一下部分图的箭头) 一、二叉(查找)树 二叉查找树(Binar ...
分类:
其他好文 时间:
2018-08-31 21:27:07
阅读次数:
169
题目链接 https://leetcode.com/problems/convert sorted array to binary search tree/description/ 题目描述 Given an array where elements are sorted in ascending ...
分类:
其他好文 时间:
2018-08-28 13:08:04
阅读次数:
147
考纲中,平衡二叉树在“查找”章节,要求为:平衡二叉树概念 一:定义: 平衡二叉树(AVL树)是一种二叉排序树,其中每一个节点的左子树和右子树的高度差至多等于1. 意思就是:要么是一颗空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1. 平衡因子:将二叉树上节点的左 ...
分类:
其他好文 时间:
2018-08-16 20:58:24
阅读次数:
99