二叉树后序遍历的算法代码
时间: 2023-06-08 21:04:30 浏览: 66
后序遍历二叉树的算法代码如下:def postOrder(root):
if root:
postOrder(root.left)
postOrder(root.right)
print(root.data)
相关问题
二叉树后序遍历代码c语言
在 C 语言中,后序遍历是一种用于访问二叉树节点的算法,其顺序是先遍历左子树,然后右子树,最后访问根节点。以下是后序遍历的典型递归实现:
```c
// 定义二叉树结点结构
typedef struct TreeNode {
int val;
struct TreeNode* left;
struct TreeNode* right;
} TreeNode;
// 后序遍历函数
void postorderTraversal(TreeNode* root) {
if (root == NULL) return; // 如果当前节点为空,则返回
postorderTraversal(root->left); // 先遍历左子树
postorderTraversal(root->right); // 再遍历右子树
printf("%d ", root->val); // 最后访问根节点并打印其值
}
```
在这个例子中,`postorderTraversal` 函数接收一个指向树根的指针,如果节点为空则停止递归;否则,它会先递归地遍历左子树和右子树,最后才处理当前节点。
二叉树的后序遍历算法设计
二叉树的后序遍历是指先遍历左子树,再遍历右子树,最后访问根节点的遍历方式。下面是使用递归实现的后序遍历算法设计的代码示例:
```java
public void postOrderTraverse(TreeNode node){
if(node == null)
return;
postOrderTraverse(node.left);
postOrderTraverse(node.right);
System.out.print(node.val + " ");
}
```
这段代码首先判断当前节点是否为空,如果为空则直接返回。然后递归地对左子树进行后序遍历,再递归地对右子树进行后序遍历,最后输出当前节点的值。
阅读全文