깊이 우선 순위 검색
노드에서 노드로 내려가서 부딪힌 후 분기점으로 되돌아가다
또한 열리지 않은 노드로 내려가는 알고리즘.
나는 귀속으로 코드를 썼다.
구체적인 예로 상술한 트리에 대해 깊이 우선 검색을 실시했다.
#python3
#sys.setrecursionlimit(10000) #再帰の回数上限変更 (デフォルト1000回)
# 各ノードから,どのノードにエッジ(枝)が伸びているか調べてリスト化する (隣接リスト)
edge = [[1, 2], [0, 3, 4], [0, 5], [1], [1], [2]]
def dfs(now, before=-1):#before:一つ前に通ったノード
if before==-1:
print(now)
for c in edge[now]: #c:子
if not c ==before: #無限ループを防ぐ
print(c)
dfs(c, now) #再帰
dfs(0)
결과 내보내기0
1
3
4
2
5
감사합니다.
Reference
이 문제에 관하여(깊이 우선 순위 검색), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/py85157469/items/433745072612e673f60c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)