采用二叉树递归遍历算法编程实现二叉树遍历(采用先序、中序和后序三遍历算法)
时间: 2024-10-25 21:15:51 浏览: 60
在C语言中,二叉树的遍历可以分为三种基本方式:先序遍历(根-左-右)、中序遍历(左-根-右)和后序遍历(左-右-根)。以下是每种遍历方式的递归实现:
1. **先序遍历**(根-左-右)
```c
void preorderTraversal(Node* root) {
if (root != NULL) {
printf("%d ", root->val); // 先访问根节点
preorderTraversal(root->left); // 再访问左子树
preorderTraversal(root->right); // 最后访问右子树
}
}
```
2. **中序遍历**(左-根-右)
```c
void inorderTraversal(Node* root) {
if (root != NULL) {
inorderTraversal(root->left); // 先访问左子树
printf("%d ", root->val); // 然后访问根节点
inorderTraversal(root->right); // 最后访问右子树
}
}
```
3. **后序遍历**(左-右-根)
```c
void postorderTraversal(Node* root) {
if (root != NULL) {
postorderTraversal(root->left); // 先访问左子树
postorderTraversal(root->right); // 再访问右子树
printf("%d ", root->val); // 最后访问根节点
}
}
```
这里的`Node* root`是二叉树的根节点,`val`表示节点的值,`left`和`right`分别指向左子节点和右子节点。在实际应用中,你需要先定义二叉树节点结构,并初始化一个二叉树实例。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)