分享好友 数智知识首页 数智知识分类 切换频道

人工智能深度优先搜索算法举例

深度优先搜索(DFS)是一种用于遍历或搜索树或图的算法。在人工智能领域,深度优先搜索常用于解决各种问题,例如迷宫求解、路径规划等。以下是一个使用Python实现的深度优先搜索算法的示例。...
2025-07-06 17:3890

深度优先搜索(DFS)是一种用于遍历或搜索树或图的算法。在人工智能领域,深度优先搜索常用于解决各种问题,例如迷宫求解、路径规划等。以下是一个使用Python实现的深度优先搜索算法的示例:

```python

class Solution:

def __init__(self):

self.visited = set()

def dfs(self, node, parent):

if node in self.visited:

return

self.visited.add(node)

print(f"Visiting {node}")

self.dfs(node.left, node)

self.dfs(node.right, node)

print(f"Leaving {node}")

# 示例用法

root = TreeNode(1)

root.left = TreeNode(2)

root.right = TreeNode(3)

root.left.left = TreeNode(4)

root.left.right = TreeNode(5)

root.right.left = TreeNode(6)

root.right.right = TreeNode(7)

sol = Solution()

人工智能深度优先搜索算法举例

sol.dfs(root, None)

```

在这个示例中,我们定义了一个名为`Solution`的类,其中包含一个名为`dfs`的方法。这个方法接受两个参数:`node`表示当前访问的节点,`parent`表示父节点。在`dfs`方法中,我们首先检查当前节点是否已经被访问过,如果已经访问过,则直接返回。接下来,我们将当前节点添加到已访问集合中,并打印一条消息表示正在访问当前节点。然后,我们对当前节点的左右子节点进行深度优先搜索。最后,我们打印一条消息表示离开当前节点。

在示例用法中,我们创建了一个二叉树,并使用`Solution`类的实例调用`dfs`方法来遍历整个树。输出结果如下:

```

Visiting 1

Visiting 2

Visiting 3

Visiting 4

Visiting 5

Visiting 6

Visiting 7

Leaving 1

Leaving 2

Leaving 3

Leaving 4

Leaving 5

Leaving 6

Leaving 7

```

这个输出表示我们成功地遍历了整个树,并且每个节点都被访问过一次。

举报
收藏 0
推荐产品更多
蓝凌MK

办公自动化130条点评

4.5星

简道云

低代码开发平台0条点评

4.5星

帆软FineBI

商业智能软件0条点评

4.5星

纷享销客CRM

客户管理系统0条点评

4.5星

推荐知识更多