手机浏览器扫描二维码访问
一棵树中每两个点之间都有且只有一条路径(指没有重复边的路径)。一颗有n个点的树有n-1条边,也就是连接n个点所需要的最少边数。所以如果去掉树中的一条边,树就会不连通。
如果在一棵树中加入任意的一条边,就会得到有且只有一个环的图。这是因为这条边连接的两个点(或是一个点)中有且只有一条路径,这条路径和新加的边连在一起就是一个环。如果把一个连通图中的多余边全部删除,所构成的树叫做这个图的生成树。
如果要在树中加入一个点,就要加入一条这个点和原有的点相连的边。这条边不会给这棵树增加一个环或者多余的路径。所以每次这样加入一个点,就可以构成一棵树。
一棵树既可以是有向的也可以是无向的。显然,树是连通图,但不会是双连通图(对于无向图)或者强连通图(对于有向图)。树可以算是稀疏图。
显然树中也没有自环和重复边。
定义
如果一个无向简单图g满足以下相互等价的条件之一,那么g是一棵树:
g是没有回路的连通图。
g没有回路,但是在g内添加任意一条边,就会形成一个回路。
g是连通的,但是如果去掉任意一条边,就不再连通。
g是连通的,并且3顶点的完全图?不是g的子图。
g内的任意两个顶点能被唯一路径所连通。
如果无向简单图g有有限个顶点(设为n个顶点),那么g是一棵树还等价于:
g是连通的,有n?1条边,并且g没有简单回路。
如果一个无向简单图g中没有简单回路,那么g是森林。
性质
一棵树中每两个点之间都有且只有一条路径(指没有重复边的路径)。一颗有n个点的树有n-1条边,也就是连接n个点所需要的最少边数。所以如果去掉树中的一条边,树就会不连通。
如果在一棵树中加入任意的一条边,就会得到有且只有一个环的图。这是因为这条边连接的两个点(或是一个点)中有且只有一条路径,这条路径和新加的边连在一起就是一个环。如果把一个连通图中的多余边全部删除,所构成的树叫做这个图的生成树。
如果要在树中加入一个点,就要加入一条这个点和原有的点相连的边。这条边不会给这棵树增加一个环或者多余的路径。所以每次这样加入一个点,就可以构成一棵树。
一棵树既可以是有向的也可以是无向的。显然,树是连通图,但不会是双连通图(对于无向图)或者强连通图(对于有向图)。树可以算是稀疏图。
显然树中也没有自环和重复边。
有根树
在一棵树中可以指定一个特殊的节点:根。一个有根的树叫做有根树。
有根树中的节点可以根据到根的距离分层。一颗有根树的层数叫做这棵树的高度。节点最多的那一层的节点数叫做这棵树的宽度。对于有根树,每条边都有一个特殊的方向:指向根节点的方向,或者说上一层的方向(或者相反的,指向叶节点的方向,下一层的方向)。一条边的两个端点中,靠近根的那个节点叫做另一个节点的父节点(也叫父亲、双亲、双亲节点),相反的,距离根比较远的那个节点叫做另一个节点的子节点(也可以叫孩子,儿子,子女等)。父亲方向的所有节点都叫做这个节点的祖先,儿子方向的所有节点都叫做这个节点的子孙。没有子节点的子节点叫做叶节点(或者叶子节点)。由于到根的路径只有一条,根节点以外的节点的父节点永远只有一个,祖先就是这个点到根的路径上的所有节点(包括根,不包括这个节点本身)。另外,以一个节点为根的树是指包括这个节点和其所有子孙,并以这个节点为根的树。由于一般不需要这以外的子树,每一个节点也可以对应到一个以其为根的树,一个节点的子树通常也是指以这个节点的子节点为根的树。
如果一颗有根树每个节点的子树最多有n个,同时每个节点在其父节点中都有固定的可能可以留空的位置,这棵树叫做n叉树。其中每个节点都可以有两个固定位置的子树的有根树叫做二叉树,二叉树中每个节点的两个子树分别叫做左子树和右子树,由于位置固定,没有左子树的时候也是可以有右子树的。而“多叉树”通常并不指n为任意值的n叉树,只是在和n叉树作比较的时候表示普通的有根树。
对于随机的树,高度的平均复杂度是o(logn),但是没有限制而且不随机的树高度也可以达到o(n),也就是除了叶节点都只有一个子树,或者常数个分支的情况。所以树作为数据结构时通常需要另外进行平衡。
存储
对于普通的树,可以像图一样为每一个点存储一个边表(通常按顺序存和每一个点的关系的叫做邻接矩阵,存具体的边的叫做邻接表),或者直接存储所有边的边表等。由于树是稀疏图,所以一般不用邻接矩阵存储。对于有根树,如果用为每一个点储存一个边表的方法,由于每一棵树都只有一个父节点,所以通常指向父节点的边不存在这个表中。同时如果子节点是没有顺序的,也是因为一个节点的子节点不会同时是其他节点的子节点,也可以把子节点直接当成存边的链表的节点,这时候每个节点只需要储存两个指针,所以这种存储方法有时候也会被叫做多叉树转二叉树。
对于子节点是有顺序的有根树,每条边都可以以固定的位置分别储存。对于完全二叉树甚至能直接用一个数组访问所有节点,不另外储存边的信息。有的树可以被设计成固定的从根节点开始访问,这时候可以不储存父节点。同样的,有的树也可以省略子节点,例如并查集。
树。。。。。
说小于顶点数。
,以及合并两个集合等。
加载更多
在怪兽无法无天的行星波利斯,穿越之后的雷蒙被究极生命体看中,成为了掌控怪兽之力的雷奥尼克斯。哥莫拉我滴,杰顿我滴,希尔巴贡也是我滴!哎!你给我放下那只艾雷王!那也是我滴!搜索关键词奥特曼,怪兽,雷奥尼克斯。各位书友要是觉得奥特,开局一只哥莫拉还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦!...
不是我目空一切,是你们,还入不了我眼界!我想虎遁山林,可蛋疼地发现,没有一方深林,能放得下我这条猛虎!怎么办?想当咸鱼,可实力它不允许啊...
末日里,他们都叫我神农,我有些名气,爷爷给我留下一座山和一片鱼塘作为遗产,我在后山的血尸地里养血尸卖血灵芝,把血尸当做饲料在鱼塘养鲨鱼。我赚的盆满钵满不愁吃喝。但是其实我还有另外一个身份没有人知道,今天,我因为这个身份而招来了可怕的灾难...
从前有一位美人,他不停倒霉,所以急需抱一根金大腿感谢好基友羲和清零制作的封面,倒霉相画得太传神了!扫雷1主受,聊斋同人,慢穿,单元小故事,1v1,攻受一起穿。2一如既往苏雷爽粗。3大年三十(27)早上九点半发文,首发三章,入V后更肥章。4想到再补充。5,本文将于星期六,也就是2月27号入V,更三章,感谢大家的支持!...
一粒沙可遮天地万物,一滴水可淹世间生灵。一念乾坤生,一念穹苍灭。一念岁月止,一念浮屠逝。少年身怀灭世九幽,领悟灭弑神龙之奥义,力战乾坤,主宰星辰,修得世间仅有神体,他集结圣皇人体不死龙体轮回圣体战神仙体于一身,笑傲苍穹,遗世独立。大主宰,舍我其谁?吾为叶逝明,我的一生由我狂!...
预收九零年代小饭馆穿书,年代美食文,戳专栏可见,求收。本文文案作为一只不爱修炼只爱下厨的妖怪,叶夭坚信,她在哪儿,食客就会在哪儿,这是宇宙不变的真理。于是她响应地摊经济的号召,摆了一个简简单单的夜宵摊子。一份炒粉36,一碗绿豆汤20。食客们老板,你疯了吗?不如去抢钱呀!我只吃高级餐厅,一个小地摊,呵,垃圾。开摊后惊!居然有人开着千万豪车来吃一个小地摊!影后也是她家的忠实粉丝。我那天还看到了x国首富!对此,叶夭表示,影后算什么?首富算什么?我的粉丝遍布不同物种!吃过后老板,求你再卖贵点儿,这样就没这么多人和我抢了!老板,你家还缺洗碗工吗?免费的那种,只需要包一顿饭就可以了。老板,我对你,不是,我对你家的绿豆汤朝思暮想,夜不能寐,病入膏肓。只求能买到一碗慰我相思之苦。叶夭这就不行了?接下来还有明江的小龙虾香格里拉的菌子阿勒泰的羊肉。。。。。。你们说,定多少钱好呢?PS预收文九零年代小饭馆穿书,求收藏。一代名厨虞凤池发现自己穿到了一本狗血年代文里,成为了女配身边的炮灰闺蜜。炮灰闺蜜善良天真,对女配掏心掏肺,但女配却只想着利用她。当女配想要阴阳怪气女主的时候,让闺蜜先打头阵,自己待后头看着当女配想要陷害女主的时候,欺骗闺蜜让她冲上去,自己待后头。一番折腾下来,成功的让闺蜜当了自己的替罪羊进了派出所。穿越过来后的虞凤池觉得原身这姑娘怎么就那么傻?她利落的甩开女配回了自己的家。回家后,虞凤池看到面临下岗面色愁苦却依然知道给她热饭热水的父母,以及乖乖叫她姐姐的老实弟弟,还有冲过来抱着她叫姑姑的两个小侄女,她决定抄起锅铲,带着大家发家致富,一起过上好日子!一通折腾,虞凤楼的包子摊开张了。虞家的邻居都不看好,纷纷摇头虞家这丫头疯了吗?不进厂去顶班,居然当上了个体户?谁会在外面买那么贵的包子吃?我看,过不了几天就要倒闭!几天后,虞家包子摊面前围满了人老板,给我十个!前面的,不准插队!邻居们咬着大肉包嗯真香!再后来,包子摊变成了小饭馆,小饭馆又变成了大酒楼从大城市回来的女配恨得牙痒痒,只能安慰自己,最起码自己找到了有钱人傍身,转眼间却看到高高在上的港城大老板对着虞凤池温言软语,小心翼翼。女配!!!大老板我媳妇又美又会做菜,当然得宠着点!...