[TOC] 递归 "104. 二叉树的最大深度" 题目描述:给定一个二叉树,找出其最大深度。 "110. 平衡二叉树" 题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。 "543. 二叉树的直径" 题目描述:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中 ...
分类:
其他好文 时间:
2020-04-16 19:17:19
阅读次数:
59
109. 有序链表转换二叉搜索树 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [-10, -3, 0, 5, 9], 一个可能的答案是:[0, -3, ...
分类:
其他好文 时间:
2020-04-12 18:46:44
阅读次数:
59
AVL树说明: 该树是一种高度平衡的二叉搜索树,该树中的每一个结点左右子树的高度至多相差1。 AVL树本身也是一个二叉搜索树。 斐波那契数列: 1、1、2、3、5、8、13、21、34、…… 其递推式定义为:F(1) = 1, F(2) = 1, F(n) = F(n-1) + F(n-2) (n> ...
分类:
其他好文 时间:
2020-04-11 23:57:28
阅读次数:
123
解题思路:先计算左右子树的高度,如果满足平衡二叉树左右子树的高度差的绝对值不超过1,则返回该树的高度,否则返回-1表示子树已经不平衡了.给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:给定二叉树[3,9,20,null,null,15,7]3/\920/\157返回true。classSolution
分类:
其他好文 时间:
2020-04-11 22:20:22
阅读次数:
101
// 面试题55(二):平衡二叉树 // 题目:输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某二叉树中 // 任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 #include <cstdio> #include "BinaryTree.h" // 方法1 int Tree ...
分类:
其他好文 时间:
2020-04-07 20:52:04
阅读次数:
66
容器(container)用于存放数据的类模板。可变长数组、链表、平衡二叉树等数据结构在STL中都被实现为容器。 在使用容器时,即将容器类模型实例化为容器类,会指明容器中存放的元素是什么类型。 容器可以分为两大类: 顺序容器 和 关联容器 顺序容器 顺序容器有 可变长动态数组vector、双端队列d ...
分类:
编程语言 时间:
2020-04-07 00:07:21
阅读次数:
98
1、平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。 示例 2 ...
分类:
编程语言 时间:
2020-04-06 13:45:55
阅读次数:
65
[TOC] 什么是二叉树? 在实现二分搜索树之前,我们先思考一下,为什么要有树这种数据结构呢?我们通过企业的组织机构、文件存储、数据库索引等这些常见的应用会发现,将数据使用树结构存储后,会出奇的高效,树结构本身是一种天然的组织结构。常见的树结构有:二分搜索树、平衡二叉树(常见的平衡二叉树有AVL和红 ...
分类:
其他好文 时间:
2020-04-04 09:57:45
阅读次数:
65
特性 元素有序(无序用unordered_set) 元素不重复(重复有序用multiset,重复无序用unordered_multiset) 底层是平衡二叉树,查找速度logn 函数 insert():向集合插入元素 begin():返回指向第一个元素的迭代器 end():返回指向最后一个元素的迭代 ...
分类:
编程语言 时间:
2020-04-03 12:26:43
阅读次数:
83
本文包含二叉搜索树和平衡二叉树的基本特点总结以及平衡二叉树的插入过程中失衡的解决方法口诀
分类:
其他好文 时间:
2020-03-30 00:24:31
阅读次数:
894