图论 (二) 树

原文地址:图论(二)树
关于树的概念可以重点理解下度、层级/深度/高度这几个概念,尤其树的高度在笔试或面试中常考,应重点掌握。

建立了图( g r a p h graph graph)的认识,“树”就好理解了。“树”是一种很特别的图 g r a p h graph graph)。用图来定义“树”:任意2点之间都连通,并且没有“环”的图。下面的图就是一颗树,因此,树是图的特例。
在这里插入图片描述
当然,由于树是一种特别有用的数据结构,因此,它有着一些自身的特点和概念:

一、节点( n o d e node node

就是图( g r a p h graph graph)的顶点( v e r t e x vertex vertex)。如上图中的顶点:0,1,2,3,4,5,6,7,8。

二、枝( b r a n c h branch branch

就是图( g r a p h graph graph)的边( e d g e edge edge)。如上图中的 0 − > 1 , 0 − > 3 , 0 − > 5 , 1 − > 2 , 1 − > 4 , 3 − > 6 , 5 − > 8 , 8 − > 7 0->1, 0->3, 0->5, 1->2, 1->4, 3->6, 5->8, 8->7 0>1,0>3,0>5,1>2,1>4,3>6,5>8,8>7

三、根( r o o t root root

一颗树可以想象成从某一个顶点开始进行分枝,那么这个顶点就是“根”。一颗树的每一个节点都可以作为根。如图中可以将节点0作为根。
在这里插入图片描述

四、叶( l e a f leaf leaf

在一颗树上选定根后,如节点0作为根。由根开始不断分枝,途中所有无法再分枝的节点成为叶。如下图中,根为点0,则节点2,4,6,7是叶。
在这里插入图片描述

五、度( d e g r e e degree degree

一个节点拥有的子树数称为节点的度( d e g r e e degree degree)。下图中,根节点0有3个子树,度为3;节点1有2个子树,度为2;节点3,5分别只有一个子树,度为1。叶( l e a f leaf leaf)也可以用度来定义:度为0的节点称为叶( l e a f leaf leaf)。节点2,4,6,7没有子树,度为0,所以2,4,5,7为叶。
在这里插入图片描述

六、层/深度/高度( l e v e l / d e p t h / h e i g h t level/depth/height level/depth/height

在一颗树中选定根( r o o t root root)后,按照每个点离根的距离,可以将树中的点分为多个层级。
在这里插入图片描述
一个树的最大层级数称为树的深度 d e p t h depth depth或高度( h e i g h t height height),如该树的深度(高度)为4。一个节点到下方的叶的最大层级数之差称为节点的高度( h e i g h t height height),如节点1位于层1,下方的叶子2,4位于层2,所以节点1的高度是1;同理,节点3的高度也是1,节点5的高度是2,节点2本身是叶,其高度是0,根节点0的高度是3。

七、双亲/孩子/兄弟( p a r e n t / c h i l d / s i b l i n g parent/child/sibling parent/child/sibling

在一颗树中选定根( r o o t root root)后,相邻的两点,靠近根的是双亲( p a r e n t parent parent),远一点的是孩子( c h i l d child child)。
在这里插入图片描述
如上图中,0是1的双亲( p a r e n t parent parent),2,4是1的孩子(child)。2,4有共同的双亲,因此2,4之间互称为兄弟( s i b l i n g sibling sibling)。
同样的,3是6的双亲,6是3的孩子;5是8的双亲,8是5的孩子。1,3,5是0的孩子,1,3,5互称为兄弟。

八、祖先/后代( a n c e s t o r / d e s c e n d a n t ancestor/descendant ancestor/descendant

在一颗树中选定根( r o o t root root)后,一个点的双亲、双亲的双亲、……都是此点的祖先( a n c e s t o r ancestor ancestor),根节点是所有子节点的祖先,注意双亲( p a r e n t parent parent)也属于祖先。因此,祖先是一个集合概念。同理,一个点的孩子、孩子的孩子、……都是此点的后代( d e s c e n d a n t descendant descendant),后代也是一个集合概念。

九、森林( f o r e s t forest forest

很多颗树的集合称为森林。森林中,树与树之间互不相交。
在这里插入图片描述
此外,与图一样,树也有“有向/无向”,“同构”,“权重”,“路径”等概念,含义与图类似,不再赘述。
最后总结下:
1.树中所有点都是连通的;
2.树中任意2点之间只有唯一一条路径;
3.树是无环的连通图;
4.森林是无环的非连通图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值