平衡二叉树 题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 func ...
分类:
其他好文 时间:
2021-04-12 11:48:28
阅读次数:
0
剑指 Offer 36. 二叉搜索树与双向链表 Offer_36 题目描述 题解分析 本题考查的是二叉树的中序遍历以及二叉排序树的特征(二叉排序树的中序遍历序列是升序序列) 利用排序二叉树中序遍历的性质,可以设置一个前置指针和当前指针。 再遍历完当前结点的所有左子树后,可以得到一个数据值仅次与当前结 ...
分类:
编程语言 时间:
2021-02-05 10:52:38
阅读次数:
0
一、树 1.概念: 包含n(n>=0)个结点的有穷集;树有多个节点(node),用以储存元素。某些节点之间存在一定的关系,用连线表示,连线称为边(edge)。边的上端节点称为父节点,下端称为子节点。树像是一个不断分叉的树根。 2.相关概念: 一棵树可以没有任何节点,称为空树 一棵树可以只有 1 个节 ...
分类:
编程语言 时间:
2020-06-15 22:49:31
阅读次数:
79
二叉搜索树 定义 二叉查找树(英语:Binary Search Tree),也称为二叉搜索树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节 ...
分类:
其他好文 时间:
2020-05-31 00:56:13
阅读次数:
52
题目非常简单,之所以记录一下是因为总是忽略中序遍历的特性:排序二叉树中序遍历会得到一个有序数组。该特性很实用也很神奇,就像一颗满二叉排序树的根节点必然是对应有序数组的中点一样。该特性可以帮助我们更好的理解排序树的结构。 List<Integer> re=new LinkedList<Integer> ...
分类:
其他好文 时间:
2020-05-11 01:04:03
阅读次数:
56
二叉搜索树(英语:Binary Search Tree),也称有序二叉树(英语:ordered binary tree),排序二叉树(英语:sorted binary tree),是指一颗空树或者具有下列性质的二叉树:1、左子树上所有结点的值均小于它的根结点的值;2、右子树上所有结点的值均大于它的根 ...
分类:
其他好文 时间:
2020-05-10 16:55:47
阅读次数:
55
题意描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 解题思路 一、递归 1. 从上向下遍历,求出每个节点的左右子树的深度 2. 根据左右子树的深度差判断是否为AVL树 二、非递归 使用非递归计算每个节点左右子树的深度,根据深度差判断 ...
分类:
其他好文 时间:
2020-05-05 00:50:56
阅读次数:
76
1、排序二叉树 排序二叉树是一种特殊的二叉树,可以非常方便的进行检索,它具有如下特点: 若它的左子树不为空,则左子树上所有节点值都小于根节点的值 若它的右子树不为空,则右子树上所有节点值都大于根节点的值 左子树和右子树都一颗排序 排序二叉树评价查找时间为O(logn),极端情况下(所有节点都靠近一侧 ...
分类:
编程语言 时间:
2020-05-03 10:56:12
阅读次数:
74
# coding:utf8 class Node(): def __init__(self, _item): self.item = _item self.left = None self.right = None class SortTree(): def __init__(self): self ...
分类:
编程语言 时间:
2020-05-02 15:21:01
阅读次数:
70
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 解法1:逐个判断每个节点 1 # -*- coding:utf-8 -*- 2 # class TreeNode: 3 # def __init__(self, x): 4 # s ...
分类:
其他好文 时间:
2020-04-28 12:29:39
阅读次数:
98