树结构概述

什么是树结构?

树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样

简介

树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示。树在计算机领域中也得到广泛应用,如在编译源程序如下时,可用树表示源源程序如下的语法结构。又如在数据库系统中,树型结构也是信息的重要组织形式之一。一切具有层次关系的问题都可用树来描述

比如下图就是一颗树结构,这张图倒过来看就会跟树一样
在这里插入图片描述

为什么要使用树结构?

  • 查找性能好
  • 插入性能好

树的基本概念

根节点

这一个就是树的一个根节点,看树结构的时候一般都是从上往下看的
在这里插入图片描述

双亲节点

在这里插入图片描述
比如这样一幅图,A 是 C 和 D 的双亲节点,C 和 D 是 A 的子节点。同样地,B 是 E 和 F 的双亲节点,E 和 F 是 B 的子节点,下面的也是一样,以此类推

路径

在这里插入图片描述
比如说我们查找 C 的话,那路径就是 A ——> B ——> C

节点的度

节点的度就是说看下这个节点有多少个子节点或者说子树,对于一个节点有多少个子节点我们就认为它的度是多少
在这里插入图片描述
在这幅图中

  • 对于 C 来说的话它的度就是 0,因为它没有子节点
  • 对于 A 节点来说它的度就是 3,因为 A 节点有三个子节点,分别是 B C D
  • 对于 B 节点来说它的度就是 2,因为 B 节点有两个子节点,分别是 E F
  • 对于 D 节点来说它的度也是 2,因为 D 节点有两个子节点,分别是 G H

以此类推

节点的权

节点的权指的是我们往这个节点上面赋予的数值内容,简单地说就是这个节点里面存的数字
在这里插入图片描述
比如黄色框住的权是1,蓝色框住的权是2,灰色框住的权是3

扫描二维码关注公众号,回复: 11127804 查看本文章

叶子节点

叶子节点就是没有子节点的节点
在这里插入图片描述
比如这幅图,圈出来的都是叶子节点,因为他们没有子节点。就好比树的叶子一样,叶子怎么长出叶子呢对吧

子树

在这里插入图片描述
比如这幅图,把黄色一块单独拿出来也可以作为一棵树,但是这黄色部分这棵树本身是在这一整棵树里边的,所以称为子树

在这里插入图片描述
比如这幅图里边的树就可以划分为四层

树的高度

树的高度也就是树的最大层数
在这里插入图片描述

森林

比如我们把上面图中的树拆分,如下图所示
在这里插入图片描述
拆分之后就变成三棵树了,那么这三棵树就可以称为森林

发布了227 篇原创文章 · 获赞 1032 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/Woo_home/article/details/104693272