11.1 树的概述:基础定义
树是没有简单回路的连通无向图。
一个无向图是树当且仅当它的每队顶点之间存在唯一简单通路。
然后由多个树组成的图就是森林。树采用T表示。
有跟树
上面说树是没有方向的,但是如果我们在一个树中指定一个顶点为根,然后从这个根指向其他顶点作为方向时,就形成了有根树,即有向图。
有跟树是指定一个顶点作为根并且每条边的方向都离开根的树。
比如上面的图所示。
再来拿下面这张图说明以下这些概念:
父母:即该点在根的方向的上一个点,比如c的父母是b。
孩子:即该点在根的方向的下几个点,比如g的孩子有h,i,j
兄弟:即该点的父母的除该点之外的点,比如h的兄弟有i和j
祖先们:从该点开始直到根为止经过的点,比如e的祖先有c,b,a
后代们:与祖先相对,从该点开始的所有点,比如b的后台有c,d,e
树叶:如果该点没有孩子,则该点称为树叶,比如d,e,f,k,i,l,m
内点:有孩子的点都可以称为内点,可以说树内除了树叶就是内点,比如a,b,g,c,h,j
子树:以某个点作为新的根,构建的更小的树,比如以g为根,构建的子树为
若有根树中每个内点的孩子数都小于m,则称该树为m叉树,若该树每个内点都恰好有m个孩子,则称它为满m叉树。
当m=2时,就是二叉树。
有序根树
就是规定了一个顶点的孩子的从左往右的顺序,比如下图所示:
在孩子中,左边的点都比右边的点小。
在二叉树中,左边的点叫做左子,右边的点叫做右子。以左子为根的子树叫做左子树,右子为根的子树叫做右子树。