← 返回题目列表
UNSW COMP2521 · 中等

树的遍历 · 前/中/后序

树的遍历 · 前 / 中 / 后序

按输入顺序把整数插入一棵 BST,然后分别输出三种深度优先遍历的访问顺序。

请补全 preorder、inorder、postorder 三个函数——它们的骨架完全一样,唯一的差别是 visit(t)(即 printf("%d ", t->value);)放在哪一步:

  • 前序:根 → 左 → 右
  • 中序:左 → 根 → 右(对 BST 来说结果一定是升序)
  • 后序:左 → 右 → 根

输入

  • 第 1 行:整数 n(n ≥ 1)。
  • 第 2 行:n 个整数,空格分隔,按此顺序插入。

输出

  • 第 1 行:前序遍历;第 2 行:中序遍历;第 3 行:后序遍历。
  • 每个数字后跟一个空格(行尾留一个空格即可)。

示例:输入 5 / 50 30 70 20 40

50 30 20 40 70 
20 30 40 50 70 
20 40 30 70 50