八一中文网

手机浏览器扫描二维码访问

第263章 得绝仙剑(第2页)

有根树

在一棵树中可以指定一个特殊的节点:根。

一个有根的树叫做有根树。

有根树中的节点可以根据到根的距离分层。

一颗有根树的层数叫做这棵树的高度。

节点最多的那一层的节点数叫做这棵树的宽度。

对于有根树,每条边都有一个特殊的方向:指向根节点的方向,或者说上一层的方向(或者相反的,指向叶节点的方向,下一层的方向)。

一条边的两个端点中,靠近根的那个节点叫做另一个节点的父节点(也叫父亲、双亲、双亲节点),相反的,距离根比较远的那个节点叫做另一个节点的子节点(也可以叫孩子,儿子,子女等)。

父亲方向的所有节点都叫做这个节点的祖先,儿子方向的所有节点都叫做这个节点的子孙。

没有子节点的子节点叫做叶节点(或者叶子节点)。

由于到根的路径只有一条,根节点以外的节点的父节点永远只有一个,祖先就是这个点到根的路径上的所有节点(包括根,不包括这个节点本身)。

另外,以一个节点为根的树是指包括这个节点和其所有子孙,并以这个节点为根的树。

由于一般不需要这以外的子树,每一个节点也可以对应到一个以其为根的树,一个节点的子树通常也是指以这个节点的子节点为根的树。

如果一颗有根树每个节点的子树最多有n个,同时每个节点在其父节点中都有固定的可能可以留空的位置,这棵树叫做n叉树。

其中每个节点都可以有两个固定位置的子树的有根树叫做二叉树,二叉树中每个节点的两个子树分别叫做左子树和右子树,由于位置固定,没有左子树的时候也是可以有右子树的。

而“多叉树”

通常并不指n为任意值的n叉树,只是在和n叉树作比较的时候表示普通的有根树。

对于随机的树,高度的平均复杂度是O(logn),但是没有限制而且不随机的树高度也可以达到O(n),也就是除了叶节点都只有一个子树,或者常数个分支的情况。

所以树作为数据结构时通常需要另外进行平衡。

存储

对于普通的树,可以像图一样为每一个点存储一个边表(通常按顺序存和每一个点的关系的叫做邻接矩阵,存具体的边的叫做邻接表),或者直接存储所有边的边表等。

由于树是稀疏图,所以一般不用邻接矩阵存储。

对于有根树,如果用为每一个点储存一个边表的方法,由于每一棵树都只有一个父节点,所以通常指向父节点的边不存在这个表中。

同时如果子节点是没有顺序的,也是因为一个节点的子节点不会同时是其他节点的子节点,也可以把子节点直接当成存边的链表的节点,这时候每个节点只需要储存两个指针,所以这种存储方法有时候也会被叫做多叉树转二叉树。

对于子节点是有顺序的有根树,每条边都可以以固定的位置分别储存。

对于完全二叉树甚至能直接用一个数组访问所有节点,不另外储存边的信息。

有的树可以被设计成固定的从根节点开始访问,这时候可以不储存父节点。

同样的,有的树也可以省略子节点,例如并查集。

树。

说小于顶点数。

,以及合并两个集合等。

加载更多

本周收藏榜
热门小说推荐
贞观闲人

贞观闲人

大唐贞观,天下靖平,山河壮丽,独钟李氏。李靖北击突厥,太宗东征高丽,兵锋之盛,威服四海。待从头,重整旧山河。功臣画像前,李渊拨弹琵琶独怅然,凌烟楼阁上,李世民大醉翩翩舞春风。中国历史上最壮丽,最磅礴,最意气风发的年代里,长安古都外,一位粗衣陋衫的少年郎看着落日余晖里的皇城,露出了笑容本站提示各位书友要是觉得贞观闲人还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦!1w65677412...

我有虫洞通万界

我有虫洞通万界

吴忧说有钱,真的可以为所欲为!小主播偶获虫洞,不止自己穿越,还能召唤人类,从此将生意做向诸天万界!末世资源遍地,来来来,我这有食物,给我去挖矿!未来科技发达,博士,我这有活体给你做实验,还有各种资源,拿你的超级科技来换!古代武功高了不起啊,老子的黑科技分分钟秒杀你,跟了我,有肉吃!从此吴忧带领武术高强,装备逆天的军队在高法低魔的世界搜集天材地宝,人类大军犹如蝗虫过境,鸡犬不留!天庭魔界神话传说,有人的地方就有他的生意,想崛起?找吴忧,这里应有尽有。生活日常法宝仙丹这都不算什么!宇宙战舰造化神器也没什么了不起!星球位面机缘大道才是我的主营业务,这天地万物,只要你提得出,我就搞得来!什么?你说没钱?这好办,把你的命卖给我!九天仙女是我的奴婢,八荒法神是我的打手,宇宙大帝是我的管家,你们皆是我的奴仆。我要赚钱买尽天下所有,诸天万界是我的地盘,万物苍生是我的财产,天下所有统统是我的,从此走向人生巅峰,吴忧说我才是宇宙万物真正的主宰!...

都市最强狂医

都市最强狂医

一次意外得传承,从此开挂飙起,治病挣钱加撩妹,你情我愿不疲惫!...

每日热搜小说推荐