返回

我哥居然成神了

首页
关灯
护眼
字体:
第236章 声名鹊起(第2/3页)
   存书签 书架管理 返回目录
。如果把一个连通图中的多余边全部删除,所图)。树可以算是稀疏图。

    显然树中也没有自环和重复边。

    有根树

    在一棵树中可以指定靠近根的那个节点叫做另一个节点的父节点(也叫父亲、双亲、。。。。

    叫孩子,儿子,子女等……父亲方向的所有节点都叫做这个节点的祖先,,儿子方向的所有节点都叫做这个节点的子孙。没有子节点的子节点叫做叶节点(或者叶子节点)。由于到根的路径只有一条,根节点以外的节点的父节点永远只有一个,祖先就是这个点到根的路径上的所有节点(包括根,不包括这个节点本身)。另外,以一个节点为根的树是指包括这个节点和其所有子孙,并以这个节点为根的树。由于一般不需要这以外的子树,每一个节点也可以对应到一个以其为根的树,一个节点的子树通常也是指以这个节点的子节点为根的树。

    如果一颗有根树每个节点的子树最多有n个,同时每个节点在其父节点中都有固定的可能可以留空的位置,这棵树叫做n叉树。其中每个节点都可以有两个固定位置的子树的有根树叫做二叉树,二叉树中每个节点的两个子树分别叫做左子树和右子树,由于位置固定,没有左子树的时候也是可以有右子树的。而“多叉树”通常并不指n为任意值的n叉树,只是在和n叉树作比较的时候表示普通的有根树。

    对于随机的树,高度的平均复杂度是o(1ogn),但是没有限制而且不随机的树高度也可以达到o(n),也就是除了叶节点都只有一个子树,或者常数个分支的情况。所以树作为数据结构时通常需要另外进行平衡。

    存储

    对于普通的树,可以像图一样为每一个点存储一个边表(通常按顺序存和每一个点的关系的叫做邻接矩阵,存具体的边的叫做邻接表),或者直接存储所有边的边表等。由于树是稀疏图,所以一般不用邻接矩阵存储。对于有根树,如果用为每一个点储存一个边表的方法,由于每一棵树都只有一个

-->>(第2/3页)(本章未完,请点击下一页继续阅读)
上一页 目录 下一页