목록알고리즘 (3)
개발자공부일기

그래프 탐색 알고리즘그래프 탐색 알고리즘은 그래프 구조에서 특정 노드나 경로를 찾기 위해 사용되는 알고리즘입니다. 대표적인 그래프 탐색 알고리즘으로는 깊이 우선 탐색(DFS, Depth-First Search)과 너비 우선 탐색(BFS, Breadth-First Search)이 있습니다. 그래프 탐색 알고리즘은 그래프 구조에서 특정 노드나 경로를 찾기 위해 사용됩니다.DFS와 BFS는 각각의 탐색 방식과 특성이 다르기 때문에, 문제의 특성에 따라 적절한 알고리즘을 선택하여 사용해야 합니다. DFS는 깊이 우선으로 탐색을 진행하며, BFS는 너비 우선으로 탐색을 진행합니다. DFS 깊이 우선 탐색 (Depth-First Search) 깊이 우선 탐색(DFS)은 그래프의 한 노드에서 시작하여 가능한 한 깊..

버블 정렬(Bubble sort)버블 정렬 또는 거품 정렬은 정렬 알고리즘 중 하나이다. 시간 복잡도가 O(n^{2})로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다.# include # define MAX_SIZE 5// 버블 정렬void bubble_sort(int list[], int n){ int i, j, temp; for(i=n-1; i>0; i--){ // 0 ~ (i-1)까지 반복 for(j=0; j선택정렬(Selection sort)선택 정렬은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다.주어진 리스트 중에 최소값을 찾는다.그 값을 맨 앞에 위치한 값과 교체한다(..

[알고리즘] 시간 복잡도와 Big O 표기법 Big O 표기법 알고리즘의 효율에서 가장 중요한 부분은 ‘n이 커질 때 알고리즘의 단계가 얼마만큼 증가하는가’이고, 이것을 잘 나타내는 빅 O 표기법을 사용합니다. 빅 O 표기법은 점근 표기법(Asymptotic Notation) 중 하나인데, 점근 표기법이란 ‘점근(漸近): 차츰 점, 가까울 근’이라는 이름에서 알 수 있듯이 알고리즘의 수행 시간을 대략적으로 나타내는 방법을 말합니다. 여기서 말한 ‘대략적으로’는 ‘정확하게’의 반대말이 아니라 ‘자세하게’의 반대말입니다. 소규모 데이터를 다루는 경우 우수한 성능의 알고리즘과 그렇지 않은 알고리즘 사이에 차이가 거의 없습니다. 퀵 정렬이 훨씬 우수한 성능을 갖고 있지만, 오히려 소규모 데이터를 정렬할 때에는 ..