본문 바로가기

알고리즘

버블 정렬 (Bubble Sort)

버블 정렬 (Bubble Sort)


-서로 이웃한 데이터들을 비교하며 

가장 큰 데이터를 맨 뒤로 보내며 정렬하는 방식-


최악의 경우 시간복잡도는 O(n^2),

최선의 경우 시간복잡도는 O(n),

평균 시간복잡도는 O(n^2)이다.


(시간 복잡도의 개념을 알고 싶다면 위키보다는 이 블로그를 추천한다.)


평균이 O(n^2)인 느린 알고리즘이지만, 병렬 처리에 적합하며 코드가 간단하다. 

왜 느리냐 하면은, 모든 요소에 대해 비교하고, 해당 되는 요소에 교환을 하기 때문.


데이터들을 교환 시킬 때 거품이 수면 위로 올라오는 것 같다 하여

버블 정렬이라고 한다.

(실제로 버블정렬 애니메이션을 보면 그렇게 보이는 것 같다)


-Sample Source-







'알고리즘' 카테고리의 다른 글

퀵 정렬 (Quick Sort)  (0) 2017.06.06
삽입정렬 (Insertion Sort)  (0) 2017.06.05
선택정렬 (Selection Sort)  (0) 2017.06.05