C++ 代码示例:轻松实现二叉树深度优先搜索算法
以下是一个使用 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` 函数用于执行深度优先搜索。如果当前节点为空则直接返回。否则,先输出当前节点的值,然后递归地对左子树和右子树进行深度优先搜索。 ######[AI写代码神器 | 316点数解答 | 2024-11-01 15:02:25]
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)58
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)288
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)288
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)285
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)350
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)497
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)386
- C语言:实现不超五位整数各位数值求和与输入验证( | 363点数解答 | 2024-03-09 14:33:57)284
- 实现不超五位整数各位数值求和,含输入验证功能 ( | 363点数解答 | 2024-03-09 14:36:23)293
- Python 实现:将两个三位数按独特规则组合成六位数!(字节豆包 | 153点数解答 | 2024-10-24 14:21:44)183
- Python 实现:将两个三位数按特定规则组合成六位数(GPT | 272点数解答 | 2024-10-24 14:27:14)182