二叉树基本概念:Python 描述
#二叉树
#数据结构
目录
1. 定义
# 二叉树的节点定义
class TreeNode:
def __init__(self, val: int):
self.val = x
self.left = None
self.right = None
# 你可以这样构建一棵二叉树:
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.right.left = TreeNode(5)
root.right.right = TreeNode(6)
# 构建出来的二叉树是这样的:
# 1
# / \
# 2 3
# / / \
# 4 5 6
2. 常见术语
3. 完美二叉树:满二叉树
4. 完全二叉树:只有最底层没被填满
这里着重说下完全二叉树
:
- 叶子节点都在
最底下两层
- 最后一层叶子节都靠
左排列
- 并且
除了最后一层
,其他层的节点个数都要达到最大
5. 完满二叉树
完满二叉树(full binary tree)除了叶节点之外,其余所有节点都有两个子节点。
6. 平衡二叉树
平衡二叉树(balanced binary tree)中任意节点的左子树和右子树的高度之差的绝对值不超过 1
二叉树中任意一个节点的左右子树
的高度相差不能大于 1