1.树(tree)是一种数据结构。是n(n>=0)个结点的有限集。
生活中的一个家族的族谱便是对树最形象的描述。
(1)空树:(n=0)不包含任何子结点。就是空白。例如:a
(2)非空树:不是空树。当n>1时,其余结点如果可以分为i(i>0)互不相交的有限集时,其中任何一个有限集便又是一棵树,称为根的子树(sub tree)。例如:c
a是空树,b是只有一个root结点的树,c3个红色的圈是3个子树,也是3个有限字符集。他们3个互不相交。
2.结点的度与树的度
结点拥有的子树数目被称为结点的度。例如图(c)A结点拥有子树个数就是3个。即A结点的度为3
叶子结点(终端结点):就是度为0的结点,图(c)中的E、F、G、H、I、J
树的度:所有结点的最大值图(c)中为3
3.树的深度
结点的层数,例如次数3层。
4.父亲、儿子、兄弟
父亲(parent):一个结点的直接前驱结点。B、C、D结点的父亲是A ,E结点的父亲是B
儿子(child):一个结点直接的后继结点。D结点的儿子是I、J
兄弟(sibling):同一个父结点,除儿子外的其他结点。D的兄弟是B、C
5.有序树、n叉树
一棵树它的子树如果要看成从左向右有次序的,则称此树为有序树。
如果不考虑子树的排列顺序则为无序树。
n叉树:每个结点的度都不超过n
6、森林
所谓的森林就是又多个树(不相交)构成。