티스토리 뷰

알고리즘

DFS

geonwoopaeng@gmail.com 2020. 8. 26. 00:59

DFS(깊이 우선 탐색)

 

: stack, 재귀함수, check 사용

: 멀리 있는 노드를 우선으로 탐색하는 알고리즘

=> 최단거리 + 가중치(이동과정 제약) 경우 사용 

 

def dfs(graph,start_node):
    visited = list() #queue
    stack = list() #stack 

    stack.append(start_node)

    while stack:
        node = stack.pop()
        if node not in visited:
            visited.append(node)
            stack.extend(graph[node])
    
    return visited

 

https://ko.wikipedia.org/wiki/%EA%B9%8A%EC%9D%B4_%EC%9A%B0%EC%84%A0_%ED%83%90%EC%83%89

반응형

'알고리즘' 카테고리의 다른 글

Dijkstra(다익스트라)  (0) 2020.08.27
유클리드 호제법(최대 공약수 구하기)  (0) 2020.08.27
플로이드-워셜(Floyd-Warshall)  (0) 2020.08.26
하노이의 탑  (0) 2020.08.26
BFS + Graph  (0) 2020.08.26
공지사항
최근에 올라온 글