漫谈数据结构——树的基础

118 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情

前言

在我们的前几篇文章中,我们所描述的都是线性的数据结构,比如我们的数组,栈都是线性的数据结构。今天我们来认识一下新的非线性的数据结构——树。

数据结构——树

我们学习一个数据结构或者一个知识点时,肯定是需要了解一下他们概念,作为初印象的。首先我们来看树的定义。在计算机科学中,(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。结构如下图所示

image.png

树有很多的节点,比如A节点就是C节点的父节点,而C节点则是A节点的子节点,B,C着两个节点的父节点是同一个节点,所以称它们为兄弟节点,没有父节点的节点我们称为根节点,也就是最顶层的A节点,没有字节点的节点我们就称为叶子节点或者是叶节点。途中的K,O,P都是叶子节点。

接下来我们来介绍树的几个概念

  • 节点的高度。节点的高度是节点到叶子节点的最长路径。也就是经过的边数。
  • 节点的深度。它是根节点到达这个节点的边数
  • 节点的层数。节点的层数等于节点的深度加1
  • 树的高度。树的高度等于根节点的高度

总结

树的数据结构非常像我们生活中的树,只是它是倒过来的。并且会有许多的节点。今天我们了解了一个全新的数据结构——树