少年的我提示您:看后求收藏(棉花糖小说网www.aaeconomics.com),接着再看更方便。

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

如果一颗有根树每个节点的子树最多有

个,同时每个节点在其父节点中都有固定的可能可以留空的位置,这棵树叫做

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

为任意值的

叉树,只是在和

叉树作比较的时候表示普通的有根树。

对于随机的树,高度的平均复杂度是

,但是没有限制而且不随机的树高度也可以达到

,也就是除了叶节点都只有一个子树,或者常数个分支的情况。所以树作为数据结构时通常需要另外进行平衡。

存储

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

对于子节点是有顺序的有根树,每条边都可以以固定的位置分别储存。对于完全二叉树甚至能直接用一个数组访问所有节点,&#

;.u

hu.&#

;&#

;不另外储存边的信息。有的树可以被设计成固定的从根节点开始访问,这时候可以不储存父节点。同样的,有的树也可以省略子节点,例如并查集。

树的遍历

对于一般的树,可以用和普通的图一样的方法遍历,比如深度优先搜索和宽度优先搜索。如果和树的每个节点相邻的点有固定的顺序,深度优先搜索可以不储存当前点以外的任何信息,而且不用判重。而在有根树中更方便,所以有根树中很少使用宽度优先搜索。

对于有根树的从根开始的深度优先搜索遍历,有三种特定的顺序:

前序遍历

先访问根节点,然后再访问所有的子树;

后序遍历

先访问子树,然后再访问根节点;

中序遍历

二叉树专用,先访问左子树,然后是根节点,最后是右子树。

注意对于每一种遍历,事实上都得先访问根节点,这里的遍历顺序是指处理节点中的数据的顺序。已知中序遍历和任一其他遍历的情况下,可以还原一个二叉树。一个直观的方法是按前序或者反转的后序插入一个按中序排序的搜索树。已知前序和中序也可以还原一棵树,但是不能知道二叉树中一个节点唯一的子树是在左边还是右边。

事实上也可以把左右的顺序反过来。这些由根开始的遍历方法也适用于特定的一个子树。

森林

玄幻魔法推荐阅读 More+
卫马君王记

卫马君王记

蝥休
卫马君王记简介: 时间过往,马背上的生活,腰间的薄刀……一切都只是因为一个女人的介入……无情,杀燎……!刀光血影……!你争我夺……!王侯将相……;生死瞬间。 或许……没有那个女人我依然会走上这条路,因为我是……。
玄幻 连载 22万字
盗墓:开局觉醒洪荒系统

盗墓:开局觉醒洪荒系统

夜孤寒风
盗墓:开局觉醒洪荒系统简介: 徐泽突穿盗墓综合大世界 弱小的徐泽觉醒了洪荒功德系统 从此踏上了征服盗墓世界的不归路上。。。 本书一天一章不会太监
玄幻 连载 4万字
暗黑崩坏神

暗黑崩坏神

君心未可知
暗黑崩坏神简介: 这是个被主角逐渐带向崩坏深渊的美漫宇宙。 钢铁侠决战伊利丹与纽约之巅;蜘蛛侠和血鸟展开了一段禁忌之恋;迪妮莎向阿尔萨斯发起最后的冲锋。 “赫拉迪姆”魔法学院暑期招生又要开始啦! 蓝染立于天穹,望着混乱的人间嘴角露出愉悦的微笑。狂战士甘道夫从虫群的包围下杀出重围,怒指着天穹上的死神,吼道:“你的阴谋绝不会的得逞!” 哨兵跪倒在泰瑞尔面前,接受了圣光的洗礼,成为一名贯彻正义的圣骑士
玄幻 完结 48万字
机巧之心

机巧之心

这个亚子
机巧之心简介: “同学们,所谓的发条机关便是由精密齿轮与发条所组成的机械装置。它们是所有自动魔偶的动力来源,在组装的时候你们一定要用心细心……” “那个,老师……” “你有什么问题嘛?请大胆的说出来。” “好吧,老师,我不明白,明明我是按照着图纸组装起来的,可是偏偏多出来了一个齿轮。” “哦,缺少一个齿轮,那它现在肯定运作不起来了吧。” “啊?不,老师它现在运作的好好的,我还要不要把这个零件再装
玄幻 连载 5万字
指挥官的魔幻旅途

指挥官的魔幻旅途

凰鸣暮歌
指挥官的魔幻旅途简介: 一个指挥官和他的舰娘穿梭于不同的世界,发生的点点滴滴
玄幻 连载 241万字
漫威召唤师

漫威召唤师

亿爵
漫威召唤师简介: 穿越漫威,成为一名英雄联盟的召唤师,蒂万势要成为一名爆炸输出的法爷! 古一:“像我这样的近战法爷?” 弗瑞:“魔法师......会用大剑?” 托尼:“被人近身的魔法师......窝草!” 灭霸:“来吧,正面上我!” 蒂万:【ヽ(ー_ー)ノ】 --- PS:第三本漫威,书友群:【370476016】
玄幻 完结 174万字