树的定义和表示

二叉树

1、树的基本概念

:n个结点构成的有限集合。当n=0时,称为空树;

  • 子树是不相交的;
  • 除了根节点外,每个结点有且仅有一个父节点;
  • 一颗N个结点的树有N-1条边。

2、树的一些基本术语

  1. 结点的度:结点的子树个数;

  2. 树的度:树的所有结点中最大的度数;

  3. 叶结点:度为0的结点;

  4. 兄弟结点:具有同一父结点的各结点彼此是兄弟结点。

  5. 路径和路径长度:从结点n1到nk的路径为一个结点序列n1,n2,…,nk,ni是ni+1的父结点。路径所包含边的个数为路径的长度;

  6. 结点的层次:规定根结点在1层,其他任意结点的层数是其父结点的层数加1;

  7. 树的深度:树中所有结点中的最大层次是这颗树的深度。

3、树的表示

链表表示法:这个会造成指针域的浪费。
树的定义和表示

左儿子-右兄弟表示法:对于n个结点的树,需要2n个指针域,其中有n-1条边,意味着有n-1个指针需要用,那么浪费了n+1个指针。

树的定义和表示

将上面的表示法向右旋转45度:得到了二叉树。

树的定义和表示