Algorithm/algorithm

깊이우선탐색(dfs)

갈잃자 2022. 4. 16. 14:09

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)