电脑版
首页

搜索 繁体

第263章 得绝仙剑!(2/2)

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

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

对于是有顺序的有树,每条边都可以以固定的位置分别储存。对于完全二叉树甚至能直接用一个数组访问所有节,不另外储存边的信息。有的树可以被设计成固定的从开始访问,这时候可以不储存父节。同样的,有的树也可以省略,例如并查集。

树。。。。。

本章已阅读完毕(请击下一章继续阅读!)

树的层数叫这棵树的度。节最多的那一层的节数叫这棵树的宽度。对于有树,每条边都有一个特殊的方向:指向的方向,或者说上一层的方向(或者相反的,指向叶节的方向,下一层的方向)。一条边的两个端中,靠近的那个节另一个节的父节(也叫父亲、双亲、双亲节),相反的,距离比较远的那个节另一个节(也可以叫孩,儿女等)。父亲方向的所有节都叫这个节的祖先,儿方向的所有节都叫这个节孙。没有叶节(或者叶)。由于到的路径只有一条,以外的节的父节永远只有一个,祖先就是这个的路径上的所有节(包括,不包括这个节)。另外,以一个节的树是指包括这个节和其所有孙,并以这个节的树。由于一般不需要这以外的树,每一个节也可以对应到一个以其为的树,一个节树通常也是指以这个节的树。

对于普通的树,可以像图一样为每一个存储一个边表(通常顺序存和每一个的关系的叫邻接矩阵,存的边的叫邻接表),或者直接存储所有边的边表等。由于树是稀疏图,所以一般不用邻接矩阵存储。对于有树,如果用为每一个储存一个边表的方法,由于每一棵树都只有一个父节,所以通常指向父节的边不存在这个表中。同时如果是没有顺序的,也是因为一个节不会同时是其他节,也可以把直接当成存边的链表的节,这时候每个节只需要储存两个指针,所以这存储方法有时候也会被叫多叉树转二叉树。

说小于数。

加载更多

存储

,以及合并两个集合等。

热门小说推荐

最近更新小说