树(Tree)

定义

是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。在计算机存储中属于链式存储结构。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
它具有以下的特点:

  • 每个结点有零个或多个子结点;
  • 没有父结点结点称为根结点
  • 每一个非根结点有且只有一个父结点(如有多个父节点则为图);
  • 除了根结点外,每个子结点可以分为多个不相交的子树(去掉根节点,即变为“森林”)。
普通的树

概念

(1)每个元素称为结点node)。

(2)有一个特定的结点被称为根结点或树根root)。

(3)除根结点之外的其余数据元素被分为多个互不相交的集合,其中每一个集合本身也是一棵树,被称作原树的子树(subtree)。

树也可以这样定义:树是由根结点若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点,或称为树根。

(4)空集合也是树,称为空树。空树中没有结点;

(5)孩子结点子结点:一个结点含有的子树的根结点称为该结点的子结点

(6)结点的:一个结点含有的子结点的个数称为该结点的度;

(7)叶结点或终端结点:为0的结点称为叶结点

(8)非终端结点或分支结点不为0的结点;

(9)双亲结点父结点:若一个结点含有子结点,则这个结点称为其子结点父结点

(10)兄弟结点:具有相同父结点的结点互称为兄弟结点

(11)树的:一棵树中,最大的结点的度称为树的度;

(12)结点的层次:从根开始定义起,根为第1层,根的子结点为第2层,以此类推;

(13)树的高度或深度:树中结点的最大层次;

(14)堂兄弟结点:双亲在同一层的结点互为堂兄弟;

(15)结点的祖先:从根到该结点所经分支上的所有结点;

(16)子孙:以某结点为根的子树中任一结点都称为该结点的子孙;

(17)森林:由m(m>=0)棵互不相交的树的集合称为森林。


种类

二叉树

| ▪ 二叉树 | ▪ 二叉查找树 | ▪ 笛卡尔树 | ▪ Top tree |
| ▪ T树 |

自平衡二叉查找树

| ▪ AA树 | ▪ AVL树 | ▪ 红黑树 | ▪ 伸展树 |
| ▪ 树堆 | ▪ 节点大小平衡树 |

B树

| ▪ B树 | ▪ B+树 | ▪ B*树 | ▪ Bx树 |
| ▪ UB树 | ▪ 2-3树 | ▪ 2-3-4树 | ▪ (a,b)-树 |
| ▪ Dancing tree | ▪ H树 |

Trie

| ▪ 前缀树 | ▪ 后缀树 | ▪ 基数树 |

空间划分树

| ▪ 四叉树 | ▪ 八叉树 | ▪ k-d树 | ▪ vp-树 |
| ▪ R树 | ▪ R*树 | ▪ R+树 | ▪ X树 |
| ▪ M树 | ▪ 线段树 | ▪ 希尔伯特R树 | ▪ 优先R树 |

非二叉树

| ▪ Exponential tree | ▪ Fusion tree | ▪ 区间树 | ▪ PQ tree |
| ▪ Range tree | ▪ SPQR tree | ▪ Van Emde Boas tree |

其他类型

| ▪ | ▪ 散列树 | ▪ Finger tree | ▪ Metric tree |
| ▪ Cover tree | ▪ BK-tree | ▪ Doubly-chained tree | ▪ iDistance |
| ▪ Link-cut tree | ▪ 树状数组 |


遍历表达法

遍历表达法有4种方法:先序遍历中序遍历后序遍历、层次遍历

如图:

其先序遍历(又称先根遍历)为ABDECF(根-左-右)

其中序遍历(又称中根遍历)为DBEAFC(左-根-右)(仅二叉树有中序遍历)

其后序遍历(又称后根遍历)为DEBFCA(左-右-根)

其层次遍历为ABCDEF(同广度优先搜索

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

推荐阅读更多精彩内容

  • 前序遍历 前序遍历(DLR),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访...
    偷了月光的猫阅读 439评论 0 0
  • 数据结构学习地址:https://www.cs.usfca.edu/~galles/visualization/A...
    我犟不过你阅读 597评论 0 3
  • 树(Tree)是一种很重要的数据结构,在软件开发的多方面都有使用: 表示层级结构。计算机语言的抽象语法树。解析人类...
    pro648阅读 666评论 0 4
  • Alfred 就是 Mac 上最强大的工具台,一个图形化的终端,只有你想不到,没有它做不到。 Alfred的使用 ...
    吃蘑菇De大灰狼阅读 86,920评论 11 79
  • https://segmentfault.com/q/1010000004953614/a-10200000049...
    冉桓彬阅读 854评论 0 0