본문 바로가기

DFS2

재귀 함수란? 재귀함수란? (Recursive funciton) 자기 자신을 다시 호출하는 함수 예제 재귀함수를 호출합니다 문자열을 무한히 출력 보통 파이썬 인터프리터는 호출 횟수 제한이 있다. def recursive_function(): print('재귀 함수를 호출합니다.') recursive_function() recursive_function() 코드를 실행 하면 ‘재귀 함수를 호출합니다.’라는 문자열을 무한히 출력한다. 정의된 recursive_function()이 자기 자신을 계속해서 호출하기 때문에 무한루프에 빠지게 된다. 재귀 함수의 종료 조건 재귀 함수를 문제 풀이에서 사용할 때는 재귀 함수가 언제 끝날지, 종료 조건을 꼭 명시해야 한다. 종료 조건을 명시하지 않으면 함수가 무한 호출될 수 있다. d.. 2023. 6. 12.
DFS(Depth First Search)란? DFS(Depth First Search) 아래 글들은 이것이 코딩 테스트다의 강의를 기반으로 개인의 이해를 돕기 위해 정리한 글입니다. DFS 깊이 우선 탐색이라고도 부르며, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 스택 자료구조 혹은 재귀함수를 이용한다. 동작 과정 탐색 시작 노드를 스택에 삽입하고 방문 처리 한다. 스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면 그 인접 노드를 스택에 넣고 방문처리 한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다. 2번의 과정을 더 이상 수행할 수 없을 때까지 반복한다. 동작 과정 이해 하기 시작 노드인 ‘1’을 스택에 삽입하고 방문 처리를 합니다 스택의 최상단 노드인 ‘1’에 방문하지 않은 인접 노드 ‘2’, ‘3’, ‘8.. 2023. 6. 11.