树是由一个根节点延伸到若干节点,再由这些若干节点向外延伸的数据结构。
概念
树
- 节点: 构成树的基本单位。
- 树: 是节点的有限集,当节点为空时成为空树。树只有一个根节点,多棵树之间无交互。
- 度: 节点拥有的子树(即子节点,子节点组成的数为子树)数量。
-
节点关系: 节点的下级节点成为该节点的
孩子节点,节点是下级节点的双亲节点,节点下级节点之间互为兄弟节点。 -
节点层次: 根节点为
第一层,根节点的子节点为第二次,再往下为第三层...以此类推。 - 深度: 数节点的最大层次,成为改树的深度/高度。
二叉树
-
二叉树: 在树的定义之上增加子节点只有两个的限制,两个节点称为
左节点和右节点。左右节点次序不可以颠倒,只有一个节点也要区分左右节点。 -
斜树: 所有节点都只有左节点的二叉树称为
左斜树,所有节点都只有右节点的二叉树称为右斜树。 - 满二叉树: 二叉树上所有的分支节点都有左右节点,并且叶子节点处于同一层。即当前深度的二叉树中节点最多的结构。所有的层都是满的。
- 完全二叉树: 和满二叉树类型,只是最后一层不满,并且所有的空缺都在右边(先填满左节点再右节点)