二叉树先序遍历
时间: 2023-06-29 17:17:44 浏览: 99
二叉树的先序遍历是指从根节点开始,先输出根节点,然后先序遍历左子树,再先序遍历右子树。具体实现过程可以参考以下代码:
```
void preOrder(TreeNode* root) {
if (root == nullptr) {
return;
}
cout << root->val << " ";
preOrder(root->left);
preOrder(root->right);
}
```
其中,TreeNode为二叉树的节点类型,val为节点的值。
相关问题
二叉树先序遍历C++
在C++中,二叉树的先序遍历是一种常见的树遍历算法,按照“根-左-右”的顺序访问节点。以下是使用递归方式实现二叉树先序遍历的C++代码:
```cpp
// 假设我们有一个二叉树节点定义如下:
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 先序遍历的递归函数
void preorderTraversal(TreeNode* root) {
if (root != nullptr) {
// 访问根节点
std::cout << root->val << " ";
// 递归遍历左子树
preorderTraversal(root->left);
// 递归遍历右子树
preorderTraversal(root->right);
}
}
```
在实际使用时,你可以将`TreeNode`结构体替换为你实际的二叉树节点定义,并调用`preorderTraversal`函数传入树的根节点开始遍历。
二叉树先序遍历c语言
以下是二叉树先序遍历的C语言代码实现:
```c
void PreOrderTraverse(BiTree T) {
if (T) {
printf("%d ", T->data); // 先访问根节点
PreOrderTraverse(T->lchild); // 再先序遍历左子树
PreOrderTraverse(T->rchild); // 最后先序遍历右子树
}
}
```
其中,`BiTree`是二叉树的结构体类型,包含了`data`、`lchild`和`rchild`三个成员变量,分别表示节点的值、左子树和右子树。
在函数中,首先判断当前节点是否为空,如果不为空,则先访问根节点,再递归遍历左子树和右子树。
阅读全文