深搜怎么写
时间: 2023-07-03 11:11:29 浏览: 95
深入搜索引擎
5星 · 资源好评率100%
深度优先搜索 (DFS) 是一种常用的图遍历算法,其基本思想是从图的某个顶点出发,沿着一条路一直走到底,直到该路走到不能走为止,然后返回到上一个顶点,从另一条路继续走到底,直到所有的顶点都被访问过为止。下面是深搜的一种常见写法:
```python
visited = set() # 记录已经访问过的节点
def dfs(node):
if node in visited:
return
visited.add(node)
# 处理当前节点
for neighbor in node.neighbors:
dfs(neighbor) # 递归访问未访问过的邻居节点
```
其中,`visited` 集合用于记录已经访问过的节点,避免重复访问。`dfs` 函数的参数是当前节点,首先将其加入到 `visited` 集合中,然后处理当前节点。接着,遍历当前节点的所有邻居节点,如果某个邻居节点还没有被访问过,则递归调用 `dfs` 函数访问该节点。这样就可以实现深度优先搜索了。
阅读全文