用c++写一个先序遍历二叉树的代码
时间: 2023-03-15 17:19:40 浏览: 93
答案:void preOrder(TreeNode *root){
if(root != nullptr){
cout << root->val << " ";
preOrder(root->left);
preOrder(root->right);
}
}
相关问题
先序遍历二叉树c++
先序遍历二叉树是一种遍历方式,它的顺序是先访问根节点,然后递归地先序遍历左子树,最后递归地先序遍历右子树。以下是先序遍历二叉树的示例代码:
```python
class Node:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
def preorder_traversal(node):
if node is not None:
print(node.data, end=' ')
preorder_traversal(node.left)
preorder_traversal(node.right)
# 创建一个示例二叉树
root = Node(1)
root.left = Node(2)
root.right = Node(3)
root.left.left = Node(4)
root.left.right = Node(5)
# 先序遍历二叉树
print
c++实现以下功能1.创建二叉树 2.先序遍历二叉树 3.中序遍历二叉树1 4.中序遍历二叉树2 5.后序遍历二叉树 6.层序遍历二叉树 7.求二叉树的深度 8.退出
C++可以通过定义二叉树节点结构体以及相应的函数来实现以上功能:
1. 创建二叉树:可以通过递归或者非递归方式实现,具体实现方式可以根据需求选择。递归方式实现时,可以采用前序遍历的方式,先创建根节点,再分别创建左右子树;非递归方式可以采用层序遍历的方式,从上到下、从左到右依次创建节点。
2. 先序遍历二叉树:先输出当前节点的值,再遍历左子树,最后遍历右子树。
3. 中序遍历二叉树1:先遍历左子树,再输出当前节点的值,最后遍历右子树。
4. 中序遍历二叉树2:采用非递归方式实现时,需要借助栈数据结构。从根节点开始,将左子树节点依次入栈,然后出栈,输出当前节点的值,再将右子树入栈。
5. 后序遍历二叉树:先遍历左子树,再遍历右子树,最后输出当前节点的值。
6. 层序遍历二叉树:从上到下、从左到右依次遍历每一层节点。
7. 求二叉树的深度:可以采用递归方式求解,分别求出左子树和右子树的深度,然后取较大值加1即为二叉树的深度。
8. 退出:程序结束。
阅读全文