以下是一个使用 C++ 实现深度优先搜索算法的示例代码,用于遍历一个二叉树: ```cpp #include <iostream> // 二叉树节点结构体 struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; // 深度优先搜索函数 void dfs(TreeNode* root) { if (root == NULL) { return; } std::cout << root->val << " "; // 先访问当前节点 dfs(root->left); // 递归遍历左子树 dfs(root->right); // 递归遍历右子树 } int main() { // 构建一个简单的二叉树 TreeNode* root = new TreeNode(1); root->left = new TreeNode(2); root->right = new TreeNode(3); root->left->left = new TreeNode(4); root->left->right = new TreeNode(5); std::cout << "深度优先搜索结果: "; dfs(root); return 0; } ``` 在上述代码中,`dfs` 函数用于执行深度优先搜索。如果当前节点为空则直接返回。否则,先输出当前节点的值,然后递归地对左子树和右子树进行深度优先搜索。 [2024-11-01 15:02:25 | AI写代码神器 | 316点数解答]