버블 정렬 (Bubble Sort)

개념
여러 개의 자료 중에서 서로 이웃하는 키 값을 두 개씩 비교하여 순서를 결정하는 정렬 방법

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]);

}}}}

댓글