数据结构之「树」

栏目: 数据库 · 发布时间: 6年前

内容简介:树是由n(n>0)个有限节点组成一个具有层次关系的集合,一个父节点有0个或多个子节点。用树结构来表示一对多的关系。树的特点:

什么是树?

树是由n(n>0)个有限节点组成一个具有层次关系的集合,一个父节点有0个或多个子节点。

用树结构来表示一对多的关系。

树的特点:

1.没有父节点的节点称为根节点。

2.每一个非根节点有且只有一个父节点。

3.除了根节点外,每个子节点可以分为多个不相交的子树。

4.每个节点都 0 个或多个子节点。

5.树里没有环路,就是节点只能向下衍生,跟树一样,不能相交于其它子树。

数据结构之「树」

树的术语

根节点:没有父几点,并且每棵树只有一个根节点。

父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点。

子节点:一个节点含有的子树的根节点称为该节点的子节点。

叶子节点:最底层的,度为零的节点。

兄弟节点:具有相同父节点的节点互称为兄弟节点。

堂兄弟节点:父节点在同一层的节点互为堂兄弟。

分支节点:中间的,度不为零的节点。

节点的度:一个节点含有的子树的个数称为该节点的度。

树的度:一棵树中,最大的节点的度称为树的度。

深度:对于任意节点 n, n 的深度为从根到 n 的唯一路径长,根的深度为 0。

高度:对于任意节点 n, n 的高度为从 n 到一片树叶的最长路径,所有叶子节点的高度为 0。

节点的祖先:从根到该节点所经分支上的所有节点。

节点的子孙:以某节点为根的子树中任一节点都称为该节点的子孙。

节点的层次:从根开始定义起,根为第 1 层,根的子节点为第 2 层,以此类推。

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

总结

树 实际上就是表示一对多的关系,数组和链表遍历查找时间复杂度是 O(n),当 n 很大时,就非常影响查询效率,因此需要其他的数据结构来解决此类问题。就像二叉查找树、平衡二叉树、B树、B+树等,都是用来解决查询效率低的。

PS:

清山绿水始于尘,博学多识贵于勤。

我有酒,你有故事吗?

微信公众号:「 清尘闲聊 」。

欢迎一起谈天说地,聊代码。

数据结构之「树」


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

区块链革命

区块链革命

[加]唐塔普斯科特(Don Tapscott)、[加]亚力克斯·塔普斯科特(Alex Tapscott) / 中信出版集团股份有限公司 / 2016-9 / 69

(1)国际大腕“数字经济之父”继畅销书《维基经济学》之后再出力作! (2)一本真正全景式描述区块链理论及应用的巨著! (3)苹果共同创始人史蒂夫·沃兹尼亚克、世界经济论坛创始人和论坛主席克劳斯·施瓦布、网景及硅谷安德森·霍洛维茨风险投资公司创始人马克·安德森、麦肯锡董事长兼全球总裁鲍达民、 百事公司首席执行官卢英德、丹·舒尔曼 Paypal公司首席执行官等全球政治界、学术界和商界精英联......一起来看看 《区块链革命》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具