数据结构 - 树(一)

163 阅读1分钟

概述

树是一种非线性的数据结构,他每一个节点可以有两个或以上的直接后继节点。树可用于描述客观世界中广泛的层次关系。

定义

树是有n(n>=0)个节点的有限集合,每一个节点又是一个一样的有限集合。当n=0时称为空树。再非空树种满足有且只有一个称为根的节点。(即树只有一个根节点)

树的基本概念

  • 双亲节点(父节点),子节点,兄弟节点

图例1

以上图红色节点视角来看关系如图所示。子节点特殊说明一下,某节点子树的任意节点都是他的子节点。

  • 节点的度 度是某节点子树的个数;如上图,根节点的度数为2,而橙色节点的度数为3。

  • 子叶节点:子叶节点是度数为0的节点,他是树的末端又称终端节点。

  • 内部节点:度数不为0的节点。

  • 节点层次:根节点为第一层,子节点为第2层,兄弟节点同层。

  • 树的高度:一棵树最大的层数为树的高度或者深度。

  • 有序树:若将树的节点从左向右排节点位置定义为不能改变的称为有序树,否则为无序树。