Computer Science/Algorithm

이번 포스팅은 정렬 알고리즘 중 하나인 병합 정렬(Merge Sort)에 대한 내용을 정리하였습니다. 병합 정렬의 이해와 코드 예시, 퀵 정렬과의 차이점을 하나씩 알아보고 이해하였습니다. | 병합 정렬(Merge Sort) 이해 - 병합 정렬은 배열을 분할하고 분할된 부분 배열을 정렬한 다음 병합하여 배열을 정렬하는 재귀 정렬 알고리즘 중 하나입니다. - 언뜻 보면 퀵 정렬과 비슷해 보이지만 차이점이 있으므로 병합 정렬의 구동 방식부터 알아보겠습니다. | 병합 정렬의 구동 방식 1. 분할(Divide) : 주어진 배열을 반으로 나눔 2. 반복 : 배열의 크기가 1 이하가 될 때까지 분할 반복 3. 정복(Conquer) : 반으로 나뉜 배열을 정렬 4. 병합(Merge) : 정렬된 배열들을 병합하여 최종적..
이번 포스팅은 저번 포스팅의 버블 정렬에 이어 퀵 정렬에 대해 정리한 내용입니다. 퀵 정렬(Quick Sort)은 가장 널리 사용되는 정렬 알고리즘 중 하나이며, 이번 포스팅에서 퀵 정렬의 개념과 구동 방식, 그리고 파이썬으로 하는 구현 예제를 통해 퀵 정렬을 알아보겠습니다. | 퀵 정렬(Quick Sort) 이해 - 퀵 정렬은 분할 정복(Divide and Conquer) 알고리즘의 대표적인 예로 다음과 같은 단계로 나눌 수 있습니다. 1. 분할(Divide) : 리스트에서 하나의 요소를 선택, 이를 "피벗(Pivot)"이라 함 피벗을 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽으로 옮김 2. 정복(Conquer) : 피벗을 기준으로 분할된 두 리스트에 대해 재귀적으로 정렬 함수 호출 각 부분 리스트에 ..
이번 포스팅은 버블 정렬에 대해 정리한 내용입니다. 자료구조와 알고리즘을 공부하게 되면서 초반에 배우게 되는 간단한 알고리즘인 버블정렬은 인접한 두 원소를 비교하고 필요한 경우에 위치를 교환하며 정렬을 수행하는 것입니다. 버블 정렬의 동작원리와 개념에 대해 자세히 알아보겠습니다. | 버블 정렬의 개념 - 버블 정렬은 이름 그대로 배열의 요소들을 반복적으로 비교하면서 큰 값이 "거품"처럼 위로 올라가며 배열을 정리하는 방식입니다. 이 과정은 배열의 길이만큼 반복되며, 한 번의 반복마다 가장 큰 값이 맨 오른쪽으로 이동합니다. | 버블 정렬의 동작 원리 - 버블 정렬의 동작 원리를 간단히 설명하면 다음과 같습니다 : 1. 리스트를 순회하면서 인접한 두 개의 요소를 비교 2. 첫 번째 요소가 두 번째 요소보다..
우준세
'Computer Science/Algorithm' 카테고리의 글 목록