先序遍历的递归算法
时间: 2023-07-10 14:10:47 浏览: 71
二叉树先序遍历的递归与非递归算法
先序遍历是一种二叉树的遍历方式,其递归算法如下:
1. 如果当前节点为空,则返回。
2. 访问当前节点。
3. 递归遍历当前节点的左子树。
4. 递归遍历当前节点的右子树。
其中,步骤2是先序遍历的特点,即先访问当前节点,再遍历左右子树。下面是先序遍历的递归算法实现的示例代码:
```
void preorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
// 访问当前节点
visit(root);
// 递归遍历左子树
preorderTraversal(root->left);
// 递归遍历右子树
preorderTraversal(root->right);
}
```
其中,`visit` 表示对当前节点进行访问的操作,可以根据具体的需求来定义。
阅读全文