二叉树的遍历算法及C语言实现

介绍了二叉树的三种常见遍历方式:先序遍历、中序遍历和后序遍历,并提供了相应的C语言代码示例。

1. 先序遍历

  • 访问根节点。
  • 先序遍历左子树。
  • 先序遍历右子树。

代码示例:

void preOrder(struct Node* root) {
    if (root != NULL) {
        printf("%d ", root->data);  // 访问根节点
        preOrder(root->left);     // 遍历左子树
        preOrder(root->right);    // 遍历右子树
    }
}

2. 中序遍历

  • 中序遍历左子树。
  • 访问根节点。
  • 中序遍历右子树。

代码示例:

void inOrder(struct Node* root) {
    if (root != NULL) {
        inOrder(root->left);     // 遍历左子树
        printf("%d ", root->data);  // 访问根节点
        inOrder(root->right);    // 遍历右子树
    }
}

3. 后序遍历

  • 后序遍历左子树。
  • 后序遍历右子树。
  • 访问根节点。

代码示例:

void postOrder(struct Node* root) {
    if (root != NULL) {
        postOrder(root->left);    // 遍历左子树
        postOrder(root->right);   // 遍历右子树
        printf("%d ", root->data);  // 访问根节点
    }
}

总结

介绍了三种常用的二叉树遍历算法,并提供了C语言实现示例。这些算法是理解和操作二叉树的基础,在许多领域都有广泛的应用。

doc 文件大小:40.5KB