Bootstrap

利用python实现二叉树

树的基本概念

- 树的节点不能形成回路

- 森林是由多个数组成

树形结构的专有名词介绍

  • 度数:每一个节点的所有子树的个数
  • 层数:树的层数
  • 高度:树的最大层数
  • 树叶或终端节点:度数为零的节点
  • 父节点:与这个节点有链接的上一层节点
  • 子节点:每一个节点有链接的下一个节点
  • 祖先和子孙: 祖先:从树根到该节点路劲上所包含的节点;子孙:该节点往下追溯的任一节点
  • 兄弟节点: 有共同父节点的节点为兄弟节点
  • 非终端节点:树叶以外的节点
  • 同代:在同一棵树中具有相同层数的节点

二叉树

计算机存储树形结构一般是链表形式为主的。

定义:

* 二叉树最多只有两个子节点,每一个节点的度数小于等于2.

二叉树的特点:

  • 树不可以为空集
  • 树的度数为d>= 0 ,但二叉树的节点的度数 0 ⩽ d ⩽ 2 0\leqslant d \leqslant 2 0d2
  • 树的子树没有次序,二叉树有。左子树,右子树
  • 高度为k的二叉树的总结点树是$ 2^{k}-1$
  • 对于任意非空的二叉树T,如果 n 0 n_{0} n0为树叶节点,且度数为2的节点数是 n 2 n_{2} n2, n 0 = n 2 + 1 n_{0} = n_{2} + 1 n0</
;