본문 바로가기

Algorithm

그래프 탐색 알고리즘 DFS와 BFS의 차이점과 개념 설명 그리고 관련 코드에 대해서 설명해드리겠습니다. 그래프 경로 탐색에 있어서는 DFS(깊이우선순회) , BFS(너비우선순회) 방식이 있습니다. 다음은 이진 트리의 탐색 구조입니다. 그래프도 크게 다른 건 없습니다. 처음 시작 노드에서 12가 들어갈 곳을 탐색하기 위해 하나씩 내려가면서 들어갈 위치가 아닌 노드 또는 말단 노드에 도달하면 다시 이 전 노드로 돌아가서 검색하는 방법입니다.그렇게 하여 들어갈 곳을 탐색하는 방식과 동일한 방식으로 그래프 탐색도 진행됩니다. 공통적으로 PreOrder기준으로 생각하자면 출발점을 기준으로 방문하지 않는 노드들을 접근하게 되고 마지막 노드까지 갔을 경우 다시 돌아오면서(이 전 노드에서 다시 시작) 방문하지 않는 노드들을 방문하게 됩니.. 더보기
Dynamic Programming 다이나믹 프로그래밍 다이나믹 프로그래밍 소위, DP라고 불리우는 이 알고리즘 방식에는 크게 두 가지 방법이 있다. 재귀함수를 이용하는 방법과 처음 값부터 마지막 값까지 반복문을 이용하여 풀어가는 것이다. 이번 포스팅에서는 재귀함수를 통하여 푸는 방식을 설명하려 하는데, 가장 핵심은 수 많은 횟수 가운데 1부터 첫 스타트를 끊는 것이 아니라, N번까지 진행되었을 때를 생각하여 정리하는 것이다. 예를 들어, 1->2->3->5->8-> ... 이렇게 증가하는 피보나치 수열이 있다고 하자이를 n회 진행되었을 때를 생각하며 푸는 방식이다. 다음 문제는 재귀함수로 푼 방식인데 간단히 소개해주겠다. 정수 N이 주어졌을 때 다음 보기의 조건을 만족하여 1을 만든다. 연산 시의 횟수를 최소화하여 값을 내어라 1. X가.. 더보기

반응형