数据结构之「树」

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

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

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

我有酒,你有故事吗?

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

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

数据结构之「树」


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

查看所有标签

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

PHP高级开发技术与应用

PHP高级开发技术与应用

曹铁群、孙一江、张永学 / 清华大学出版社 / 2002-5-1 / 32.00

作为一本介绍PHP高级开发技术的书籍,本书并不像一般介绍PHP语言的书籍那样讲述大量的语法规则,罗列大量的函数,而是着眼于PHP在Web中的实际应用,特别是PHP对最新技术的支持,比如WAP技术、XML技术等。 本书涉及到的内容主要有:高级环境配置、高级语法和应用、正则表达式、面向对象技术、高级图像技术、用PHPLIB实现模板的处理、用PHPDoc实现文档的自动生成、PHP与组件技术、PH......一起来看看 《PHP高级开发技术与应用》 这本书的介绍吧!

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

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具