树的遍历运算是指按某种方式访问树中的每一个 结点且每一个结点只被访问一次。树的遍历运算的算 法主要有先根遍历和后根遍历两种。注意,下面的先 根遍历和后根遍历算法都是递归的。 1.先根遍历 先根遍历算法为 (1)访向根结点; (2)按照从左到右的次序先根遍历根结点的每 棵子树
树的遍历运算是指按某种方式访问树中的每一个 结点且每一个结点只被访问一次。树的遍历运算的算 法主要有先根遍历和后根遍历两种。注意,下面的先 根遍历和后根遍历算法都是递归的。 1. 先根遍历 先根遍历算法为: (1)访问根结点; (2)按照从左到右的次序先根遍历根结点的每一 棵子树
2.后根遍历 后根遍历算法为 (1)按照从左到右的次序后根遍历根结点的每一 棵子树 (2)访问根结点
2. 后根遍历 后根遍历算法为: (1)按照从左到右的次序后根遍历根结点的每一 棵子树; (2)访问根结点
7.1.6树的存储结构 1.双亲存储结构 这种存储结构是一种顺序存储结构,用一组连 续空间存储树的所有结点,同时在每个结点中附 设一个伪指针指示其双亲结点的位置。 0123456 BCD 00022 EF (a) (b)
7.1.6 树的存储结构 1. 双亲存储结构 这种存储结构是一种顺序存储结构,用一组连 续空间存储树的所有结点,同时在每个结点中附 设一个伪指针指示其双亲结点的位置。 A B C D E F G A -1 B 0 C 0 D 0 E 2 F 2 G 2 0 1 2 3 4 5 6 (a) (b)
2.孩子链存储结构 孩子链存储结构可按树的度(即树中所有结点度的 最大值)设计结点的孩子结点指针域个数。下图(a) 的树对应的孩子链存储结构如图(b)所示。 A B C D∧∧∧E E F
2. 孩子链存储结构 孩子链存储结构可按树的度(即树中所有结点度的 最大值)设计结点的孩子结点指针域个数。下图(a) 的树对应的孩子链存储结构如图(b)所示。 A B C D E F (a) G A ∧ B C ∧ ∧ ∧ D ∧ ∧ ∧ E ∧ ∧ F ∧ ∧ ∧ G ∧ ∧ ∧ (b)
3孩子兄弟链存储结构 孩子兄弟链存储结构是为每个结点设计三个域: 个数据元素域,一个该结点的第一个孩子结点指 针城,一个该结点的下一个兄弟结点指针域。下图 (a)的树对应的孩子兄弟链存储结构如图(b)所 口AI
3. 孩子兄弟链存储结构 孩子兄弟链存储结构是为每个结点设计三个域: 一个数据元素域,一个该结点的第一个孩子结点指 针域,一个该结点的下一个兄弟结点指针域。下图 (a)的树对应的孩子兄弟链存储结构如图(b)所 示。 A B C D E F (a) G A ∧ B ∧ D ∧ C ∧ E ∧ G ∧ ∧ F ∧ (b)