树(Tree)的基本概念

    在日常生活中或者开发中我们经常会用到一些树形结构(例如:二叉树多叉树附图1)。为什么要用到树结构呢,是因为使用树形结构可以很快速、清晰的去对应的树节点内去查找需要的数据,这样就大大的提高了效率。

二叉树 、多叉树

附图1:

tree.jpg

树结构中的元素概念

附图2:

tree_demo.jpg
节点:

树上的每个分叉点的元素。

「附图2 」中的 1、2、...... 14、15 都是节点

根节点 :

一棵树最多只有一个根结点,即最开始分叉的节点。

「附图2 」中的 1节点是其他节点的根节点
注意:

  • 一棵树可以没有任何节点,称之为空树
  • 一棵树可以只有一个节点,也就是根节点
父节点 :

树中分叉的那一个节点

例子:「附图2 」中的 1节点是 2节点和 3节点的 父节点; 2节点是 4节点和 5节点的 父节点

子节点 :

树中某一个节点分叉出去的下一级节点

例子:「附图2 」中的 2节点和 3节点是 1节点的子节点;4节点和 5节点是 2节点的 子节点

兄弟节点 :

树中某一个节点分叉出去的下一级节点中的同一级的节点,即同一级的节点有 相同的父节点

例子:「附图2 」中的 2节点和 3节点是 相互的 兄弟节点 ; 4节点和 5节点是 相互的 兄弟节点
注意 : 8节点和 10节点是 相互的 兄弟节点 , 因为8节点和 10节点没有相同的父节点

子树 :

树中某一个节点分叉出去的下一级节点上的某一个节点下的所有节点组成的树

例子:「附图2 」中的 2节点和其 往下的所有节点 就是1 节点的子树 (2、4、5、8、9、10、11这些节点组成的树是 1节点的一个子树
3节点和其 往下的所有节点 就是1 节点的子树 (3、6、7、12、13、14、15这些节点组成的树是 1节点的子树
4节点和其 往下的所有节点 就是2节点的子树( 4、8、9、这些节点组成的树是 2节点的一个子树
5节点和其 往下的所有节点 就是2节点的子树( 5、10、11、这些节点组成的树是 2节点的另一个子树

左子树 :

树中某一个节点分叉出去的下一级节点上的左侧的一个节点下的所有节点组成的树

例子:「附图2 」中的 2节点和其 往下的所有节点 就是1 节点的左子树(2、4、5、8、9、10、11这些节点组成的树是 1节点的左子树
4节点和其 往下的所有节点 就是2 节点的左子树 (4、8、9、这些节点组成的树是 2节点的左子树

右子树 :

树中某一个节点分叉出去的下一级节点上的右侧的一个节点下的所有节点组成的树

例子:「附图2 」中的 3节点和其 往下的所有节点 就是1 节点的右子树 (3、6、7、12、13、14、15这些节点组成的树是 1节点的右子树
5节点和其 往下的所有节点 就是2节点的右子树( 5、10、11、这些节点组成的树是 2节点的右子树

附图3:

tree_02.jpg
节点的度(degree) :

子树的个数

例子:「附图3 」中的 B(2)节点的度为2 ;K(11)节点的度为3;E(5)节点的度为0

树的度(degree) :

所有节点度 中的最大值

例子:「附图3 」中的 A(1)节点的度为5 是所有节点中拥有最大的度,所以树的度就是5

叶子节点 :

度为0的节点

例子: 「附图3 」中 的E(5)、J(10)、L(12)、P(16)、Q(17)节点 的度为0就是叶子节点

非叶子节点 :

度不为0的节点

边数 :

当前节点到下一个字节点的路径

根节点没有边

例子: 「附图3 」中 的A(1)节点到B(2)节点的路径是一条边;B(2)节点到H(7)节点的路径是一条边

层数 :

每一个节点和其子节点所在的位置层级。根结点在第一层,根结点的子节点在第二层,依次类推(也有的是从0层开始计算的)

例子: 「附图3 」中 的A(1)节点 是第一层;A(1) 的子节点B(2)、C(3)、D(4)、E(5)、F(6)节点是第二层; H(7)、I(9)、J(10)、K(11)、L(12)、M(13)、N(14)节点是第三层; O(15)、P(16)、Q(17)、R(18)、S(19)、T(20)节点是第四层; 所以这棵树共有四层

节点的深度 :

根节点当前节点最短的唯一直达路径上的节点总数

例子: 「附图3 」中 的B(2)节点深度是2,即(从A(1) 根节点到B(2)节点的唯一直达路径上的节点只有A(1) 、B(2)共计2个节点,总数为2);
C(3)节点深度是2,即(从A(1) 根节点到C(3)节点的唯一直达路径上的节点只有A(1) 、C(3)共计2个节点,总数为2);
O(15)节点深度是4,即(从A(1) 根节点到O(15)节点的唯一直达路径上的节点有:A(1) 、B(2)、H(7) 、O(15)共计4个节点);

节点的高度 :

当前节点到其子树上最远的叶子节点最短的唯一直达路径上的节点总数

例子: 「附图3 」中 的C(3)节点高度是3,即从C(3)节点到其子树上最远的Q(17)叶子节点的最短路径上的节点有C(3)、I(9)、Q(17)共计3个节点;J(10)、Q(17)都是叶子节点。
D(4)节点高度是3,即从D(4)节点到其子树上最远的R(18) 叶子节点的最短路径上的节点有D(4)、K(11)、R(18)共计3个节点; L(12)、R(18)、S(19)、T(20)都是叶子节点,R(18)、S(19)、T(20)三个叶子节点是同一层级。
注意:

  • 深度和高度的区别
    深度是 从根节点到当前节点的路径上的节点总数;高度是 从当前节点到其子树上最远的叶子节点路径上的节点总数
树的深度 :

所有节点深度中的最大值

例子 「附图3 」中 的O(15)节点深度是4, 是这棵树最大的深度值,所以这棵树的深度是4

树的高度 :

所有节点高度中的最大值

例子 「附图3 」中 的A(1)根节点高度是4, 是这棵树最大的高度值,所以这棵树的高度是4

树的深度 等于 树的高度

有序树:

树的任意节点下的子节点之间都是有顺序关系的。(如下附图4)

tree_oeder.jpg
无序树、自由树:

树的任意节点下的子节点之间都是没有顺序关系的。(如下附图5)

tree_no_order.jpg
森林:

由 m(m ≥ 0)颗互不想交的树组成的集合。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容