【数据结构】树

 

概念

 

(百度百科)树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。

 

从概念去理解,之所以叫“树”是因为形状像树,并非对“真实树”的模仿,所以不像链表结构一样可以参考现实中链状事物的构造。例如“真实树”有树干,而树状图是没有树干概念的,那么树状图又有什么特点呢,继续看:

1、每个节点有零个或多个子节点;

2、没有父节点的节点称为根节点;

3、每一个非根节点有且只有一个父节点;

4、除了根节点外,每个子节点可以分为多个不相交的子树;

从以上特点可以看出,零个节点也可以是数,零节点相当于一个空集合,空集合也是树,称为空树,空树中没有结点。

 

术语

 

1、节点的度:一个节点含有的子树的个数称为该节点的度;

如上图,A结点的度为3,B结点的度为2,c结点的度为1,D结点的度为3。

 

2、叶节点或终端节点:度为0的节点称为叶节点;

如上图,E、F、G、H、I、J均为叶节点。

 

3、非终端节点或分支节点:度不为0的节点;

如上图,A、B、C、D均为非终端节点。

 

4、双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;

如上图,A、B、C、D均为父节点。

 

5、孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;

如上图,B、C、D为A的子节点,E、F为B的子节点,G为C的子节点,H、I、J为子D的子节点。

 

6、兄弟节点:具有相同父节点的节点互称为兄弟节点;

如上图,B、C、D的父节点均为A,所以B、C、D为兄弟节点。

 

7、树的度:一棵树中,最大的节点的度称为树的度;

如上图,A、D节点的度均为最大值3,所以此树的度为3。

 

8、节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;

如上图,A为第1层、B、C、D为第2层、E、F、G、H、I、J为第3层。

 

9、树的高度或深度:树中节点的最大层次;

如上图, E、F、G、H、I、J节点均为最大层第3层,所以次树的高度或深度为3。

 

10、堂兄弟节点:双亲在同一层的节点互为堂兄弟;

如上图, {E、F}与{G}与{H、I、J}是堂兄弟节点。

 

节点的祖先:从根到该节点所经分支上的所有节点;

如上图, 例如E节点的祖先有B、A。

 

子孙:以某节点为根的子树中任一节点都称为该节点的子孙。

如上图, 例如以A节点为根,那么除了自己的所有节点都是A的子孙。

 

森林:由m(m>=0)棵互不相交的树的集合称为森林;在数据结构中,树和森林并不像自然界里有一个明显的量的差别,任何一棵树,只要删去根结点就成了森林。

如上图, 除去根节点A,那么{B、E、F}、{C、G}、{D、H、I、J}这三棵互不相交的树就组成了一个森林。

 

种类

 

1、有序树:树中任意节点的子结点之间有顺序关系,这种树称为有序树;

 

2、无序树:树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树;

 

类型

 

1、二叉树      

二叉树、二叉查找树 (BST)、笛卡尔树、Top tree、T树

 

2、自平衡二叉查找树 

AA树、AVL树、红黑树、伸展树、树堆、节点大小平衡树

 

3、B树  

B树、 B+树、 B*树、Bx树、UB树、2-3树、2-3-4树、(a,b)-树、Dancing tree、H树

 

4、Trie    

前缀树、后缀树、基数树

 

5、空间划分树      

四叉树、八叉树、k-d树、vp-树、R树、R*树、R+树、X树、M树、线段树、希尔伯特R树、优先R树

 

6、非二叉树 

Exponential tree、Fusion tree、区间树、PQ tree、Range tree、SPQR tree、Van Emde Boas tree

 

7、其他类型 

堆、散列树、Finger tree、Metric tree、Cover tree、BK-tree、Doubly-chained tree、iDistance、Link-cut tree、树状数组

转载于:https://www.cnblogs.com/wcd144140/p/5411506.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值