Python 数据结构和算法 07| 如何理解基础的数据结构——树

今天继续给你介绍数据结构,这次和之前说的几种数据结构不同,之前咱们说的数据结构都是线性的,这次要跟你说的是非线性的数据结构 —— 树。?

我们对树都很熟悉了,树有树根、树枝、树叶、树干….

而对应到数据结构里面来,树是这样的:

看起来还是有点“树模树样”了,哈哈。

接下来我们来了解一下数据结构中的 “树” 中的一些概念:

节点

在上面中的每个 “圈” 就是节点,在这里面可以储存数据。

父子节点

在两个相邻的节点之间,一个是爸爸,一个是儿子,比如上面, B 就是 E、F 的父节点,反之, E、F 是 B 的子节点。

根节点

根节点是真个树唯一没有父节点的节点,比如上图中的 A 就是根节点。

叶节点

与根节点相反,没有子节点的节点就是叶节点,比如上图中的 E、F、G、D、H 就是叶节点。

连接节点之间的线,就是边。

兄弟节点

在父子关系的节点中,多个子节点都有相同的父节点,我们叫称他们为兄弟节点,比如上图中的 E、F 就是兄弟节点。

层指的是节点连接到根节点的连接数,比如上图中的根节点就是 level 0, B、C 就是 level 1。

高度

指的是树的层数,比如上图的树就是 3 层, 所以高度是 4 。

深度

指的是节点到根节点所连接的边数,比如上图中的节点 G 的深度就是 2 。

使用 Python 代码创建树

接下来我们使用 Python 代码来简单演示一下树的创建,首先创建节点对象,每个节点可以衍生出子节点,左右方向都可以,所以我们可以这样创建节点对象:

本文隐藏内容 登陆 后才可以浏览
得到的结果:

ok,以上是关于数据结构树的一些需要你了解的知识点,关于树的数据结构常用到的有二叉树、红黑树这些,关于它们的使用,我会再下篇继续跟你讲解,下回见。

发表回复