数据结构之「树」

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

内容简介:树是由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:

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

我有酒,你有故事吗?

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

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

数据结构之「树」


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

查看所有标签

猜你喜欢:

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

Agile Web Application Development with Yii 1.1 and PHP5

Agile Web Application Development with Yii 1.1 and PHP5

Jeffrey Winesett / Packt Publishing / 2010-08-27

In order to understand the framework in the context of a real-world application, we need to build something that will more closely resemble the types of applications web developers actually have to bu......一起来看看 《Agile Web Application Development with Yii 1.1 and PHP5》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具