数据结构-树

树——是一种专门用来解决一对多的数据结构,参考一个文件夹下面有很多个文件

树的基本概念

根 没有前驱

叶子 没有后继

双亲 直接前驱

孩子 直接后继

节点的度 直接后继的数量

树的度 节点的度中取最大的值

树的高度/深度 最大层数

表示法:图形、广义 、左孩子右兄弟(将多叉树转为二叉树)

树的表示法

图形表示法

事物之间的逻辑关系可以通过数的形式很直观的表示出来,如下图:

 

 

广义表表示法

 

 

 

 

用广义表表示法表示上图:

中国(河北(保定,石家庄),广东(广州,东莞),山东(青岛,济南))

根作为由子树森林组成的表的名字写在表的左边

左孩子右兄弟表示法

 

 

 

左孩子右兄弟表示法可以将一颗多叉树转化为一颗二叉树:

 

 

 

节点的结构:

 

 

节点有两个指针域,其中一个指针指向子节点,另一个指针指向其兄弟节点