pygorithm/tree/binary_tree.py

31 lines
1.2 KiB
Python
Raw Permalink Normal View History

2023-12-19 17:40:11 +08:00
"""
二叉树常见术语
- 根节点 root node位于二叉树顶层的节点没有父节点
- 叶节点 leaf node没有子节点的节点其两个指针均指向
- edge连接两个节点的线段即节点引用指针
- 节点所在的 level从顶至底递增根节点所在层为 1
- 节点的 degree节点的子节点的数量在二叉树中度的取值范围是 012
- 二叉树的高度 height从根节点到最远叶节点所经过的边的数量
- 节点的深度 depth从根节点到该节点所经过的边的数量
- 节点的高度 height从距离该节点最远的叶节点到该节点所经过的边的数量
"""
class TreeNode:
def __init__(self, val: int):
self.val = val
self.left: TreeNode | None = None
self.right: TreeNode | None = None
"""
# 完美二叉树:除了叶节点,所有节点都有两个子节点,且左右节点数相同,
若树的高度为h则节点数为 2^(h+1)-1也称为满二叉树
# 完全二叉树:只有最底层节点未被填满,且填充顺序从左到右
# 完满
"""