目录
一、树的基本概念
👉树的定义:
由一个或多个(n≥0)结点组成的有限集合T ,有且仅有一个结点称为根( root ) ,当n>1
时,其余的结点分为m(m≥0)个互不相交的有限集合T1,T2 ,... ,Tm。每个集合本身
又是棵树,被称作这个根的子树。
👉树的结构特点
■ 非线性结构,有一个直接前驱,但可能有多个直接后继( 1:n )
■ 树的定义具有递归性,树中还有树。
■ 树可以为空,即节点个数为0。
👉若干术语:
■ 根 → 即根节点(没有前驱)
■ 叶子 → 即终端节点(没有后继)
■ 森林 →指m棵不相交的树的集合(例如删除A后的字数个数)
■ 有序树 →结点各子树从左至右有序,不能互换(左为第一)
■ 无序树 →结点各子树可互换位置。
■ 双亲 →即上层的那个结点(直接前驱) parent
■ 孩子 →即下层结点的子树(直接后迷) child
■ 兄弟 →同一双亲下的同层结点(孩子之间互称兄弟) sibling-
■ 堂兄弟 →即双亲位于同一层的结点(但并非同一双亲) cousinv
■ 祖先 →即从根到该结点所经分支的所有结点
■ 子孙 →即该结点下层子树中的任一结点
■ 结点 →即树的数据元素
■ 结点的度 →结点挂接的子树数(有几个直接后继就是几度)
■ 结点的层次 →从根到该结点的层数(根结点算第一层)
■ 终端结点 →即度为0的结点,即叶子
■ 分支结点 →除树根以外的结点(也称为内部结点)
■ 树的度 →所有结点度中的最大值(Max{各结点的度})
■ 树的深度(或高度) →指所有结点中最大的层数(Max{各结点的层次})
上图中的结点数=13,树的度= 3,树的深度=4
二、树的表示法
1、图形表示法
事物之间的逻辑关系可以通过树的形式很直观的表示出来,如下图:
2、广义表表示法
用广义表表示法表示上图
中国(河北(保定,石家庄),广东(广州,东莞),山东(青岛,济南))
跟作为由子树森林组成的表的名字写在表的左边
3、左孩子右兄弟表示法
左孩子右兄弟表示法可以将一颗多叉树转化为一颗二叉树