TB椰程 TypeBuddy 打字搭子

二叉树遍历

CSP-J · 编程模板 · 片段 · cpp · 难度 2/5 · 共 475 字

先序根左右、中序左根右、后序左右根

  • 数据结构
  • 二叉树遍历

前置内容

正文

// 二叉树:每个节点至多两子
// 三种 DFS 遍历顺序不同
// 先序:根左右;中序:左根右
// 后序:左右根
#include <cstdio>
struct Node {
    int v;
    // 左右孩子指针
    Node* l, * r;
};
// 先序:先访问根
void pre(Node* p) {
    if (!p) return;
    printf("%d ", p->v);
    // 再递归左右子树
    pre(p->l);
    pre(p->r);
}
// 中序:左根右
void in(Node* p) {
    if (!p) return;
    in(p->l);
    printf("%d ", p->v);
    in(p->r);
}
// 后序:左右根
void post(Node* p) {
    if (!p) return;
    post(p->l);
    post(p->r);
    printf("%d ", p->v);
}

CSP-J · 编程模板的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK