数据结构-树

287 阅读2分钟

「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战

介绍

树的概念:数据结构中的树,与我们日常中所看到的树是一样的。有很多分叉,也有很多叶子。

树,它是一种一对多的结构。

image.png

树的术语

它这里有很多术语,例如:

  1. 节点

    途中 A1 ~ A4 都成为节点,而且有很多每个节点有 零个或多个 子节点;

  2. 根节点

    没有父节点的节点称为 根节点,而且每一个非根节点有且只有一个父节点。A1 就是根节点

  3. 节点的度

    一个节点下,含有的 子树 的个数 称为该 节点的度。A1 节点的度为 3,A2~A4 节点的度为 0

  4. 树的度

    一棵树中,最大的节点的度 称为 树的度。明显可看到 结果为 3,因为 A1 节点的度为 3,是最大的。

  5. 叶节点或终端节点

    度为零 的节点。也就是 A2 ~ A4

  6. 双亲与孩子

    A2 ~ A4 的 双亲 是 A1。

    A1 的 孩子 是 A2 ~ A4。

  7. 兄弟节点

    具有 相同父节点 的节点互称为 兄弟节点。A2 ~ A4 互为兄弟节点。

  8. 节点的层次

    从根开始,根为第1层,根的子节点为第2层,以此往后。上图就 2 层

  9. 树的高度或深度

    很明显 2 层,最深了,树的高度或深度就是 2

树的种类

这里说重要的,例如:

  1. 二叉树

    每个节点 最多 包含两颗子树,子树有左右次序之分。

    • 一个节点都没,是个空

    • 只有一个节点,根节点

    • 只有一个左子树,没有右子树

    • 只有一个右子树,没有左子树

    • 两个子树都有

image.png

  1. 完全二叉树

    节点的总数量:2 ^ (N1N-1) -1 < n <= 2 ^ (NN) -1,

    (2 的 N-1 次方 减 1 ~ 2 的 N 次方 减 1]

    分支的总数量:n - 1

    空节点数:n + 1

image.png

  1. 满二叉树

    它是完全二叉树的一个特殊情况:

    叶子节点,也就是最后一层,必须是满的 A4 ~ A7,一个都不能少,也不能多。

    节点的总数量:2 ^ (NN) -1, 2 的 N 次方 减 1。

image.png

  1. 平衡二叉树

  2. 排序二叉树

  3. 霍夫曼树

  4. B树

4~7 这几个数,后续会好好讲一下,这里先跳过。

存储结构

顺序存储链式存储 这两种存储方式

  1. 顺序存储

    就像数组一样,将 二叉树,从上到下,从左到右 进行一次存储

  2. 链式存储

    用链表的形式进行存储,通过指针来进行查找。

总结

这里讲了数据结构中,树 的一些定义,和一些 树 有哪些种类,平时常用,常见的树。以及 树的 两种 存储结构