树
图论
共18个含义
树(英语:tree)是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。它是一种无向图(ued graph),其中任意两个顶点间存在唯一一条路径。树图广泛应用于计算机科学的数据结构中,比如二叉查找树、堆、Trie树以及数据压缩中的霍夫曼树等。
顶点
v
边
v - 1
色数
2
定义
如果一个无向简单图G 满足以下相互等价的条件之一,那么G 是一棵树:
G 是没有回路的连通图。
G 没有回路,但是在G内添加任意一条边,就会形成一个回路。
G 是连通的,但是如果去掉任意一条边,就不再连通。
G 是连通的,并且3顶点的完全图?不是G的子图。
G内的任意两个顶点能被唯一路径所连通。
如果无向简单图G有有限个顶点(设为n个顶点),那么G 是一棵树还等价于:
G是连通的,有n ? 1条边,并且G没有简单回路。
如果一个无向简单图G中没有简单回路,那么G是森林。
性质
一棵树中每两个点之间都有且只有一条路径(指没有重复边的路径)。一颗有N个点的树有N-1条边,也就是连接N个点所需要的最少边数。所以如果去掉树中的一条边,树就会不连通。
如果在一棵树中加入任意的一条边,就会得到有且只有一个环的图。这是因为这条边连接的两个点(或是一个点)中有且只有一条路径,这条路径和新加的边连在一起就是一个环。如果把一个连通图中的多余边全部删除,所构成的树叫做这个图的生成树。
如果要在树中加入一个点,就要加入一条这个点和原有的点相连的边。这条边不会给这棵树增加一个环或者多余的路径。所以每次这样加入一个点,就可以构成一棵树。
一棵树既可以是有向的也可以是无向的。显然,树是连通图,但不会是双连通图(对于无向图)或者强连通图(对于有向图)。树可以算是稀疏图。
显然树中也没有自环和重复边。
有根树
在一棵树中可以指定一个特殊的节点:根。一个有根的树叫做有根树。
有根树中的节点可以根据到根的距离分层。一颗有根树的层数叫做这棵树的高度。节点最多的那一层的节点数叫做这棵树的宽度。对于有根树,每条边都有一个特殊的方向:指向根节点的方向,或者说上一层的方向(或者相反的... -->>
本章未完,点击下一页继续阅读