본문 바로가기
Algorithm/algorithm

깊이우선탐색(dfs)

by 갈잃자 2022. 4. 16.

branch와  level이 정해져 있다면 사용하는 것이 좋다(재귀를 사용하기 때문)

--> 문제설계시, 방향, 배열범위, dfs를 몇번타는지를 확인하고 설계하는게 좋다.


#dfs 꼴

def dfs(level):
	#(깊이가 깊고 branch가 많다면 이곳에 back tracking용 if문을 사용하는 것이 좋다.)
	if level ==n:
    # (도출할 값을 만드는 코드가 이곳에 들어감)
		return
    
    for i in range(len(arr)):
    	dfs(level+1) # 재귀로 깊이우선탐색을 함.

dfs(0)

'Algorithm > algorithm' 카테고리의 다른 글

플러드 필(flood fill)  (0) 2022.06.22
너비우선탐색(bfs)  (0) 2022.04.16
그리디 알고리즘(greedy)  (0) 2022.04.14
카운팅정렬[counting sort]  (0) 2022.04.14
버블정렬[bubble sort]  (0) 2022.04.13

댓글