개 념
여러 개의 자료 중에서 서로 이웃하는 키 값을 두 개씩 비교하여 순서를 결정하는 정렬 방법
I. 버블 정렬 (Bubble Sort)의 개요
가. 버블 정렬의 정의
- 여러 개의 자료 중에서 서로 이웃하는 키 값을 두 개씩 비교하여 순서를 결정하는 정렬 방법
나. 버블 정렬의 특징
- 간단하지만 느린 속도의 알고리즘
- flag를 통해 속도 개선 가능
- 수행시간 복잡도: O(n2)
Ⅱ. 버블 정렬의 단계 및 사례
가. 버블 정렬의 단계
- 인접한 두 개의 키 값을 비교함. - 앞의 키 값이 뒤의 키 값보다 크면 교환 - 더 이상 비교할 대상이 없을 때까지 처음부터 반복 |
반응형
나. 버블 정렬의 사례
/* list에 대한 기본 버블정렬 알고리즘 */ void bubble_sort(element list[], int n) { int i, j; element next; for(i = n-1; i > 0; i--){ for(j = 0; j < i; j++){ if(list[j] > list[j + 1]{ swap(list[j], list[j + 1]); }}}} |