버블정렬 (Bubble Sort)

버블정렬은 인접한 2개의 레코드를 비교하여 크기가 순서대로 되어있지 않으면 서로 교환하는 비교-교환 과정을 리스트의 왼쪽 끝에서 시작하여 오른쪽 끝까지 진행합니다. 이렇게 되면 가장 큰 레코드가 리스트의 오른쪽 끝으로 이동하게 되는데 이 과정을 스캔이라고 합니다. 

이 스캔 과정을 반복하며 숫자가 정렬될 때까지 반복 수행합니다.

레코드의 이동 과정이 마치 물 속에서 거품이 보글보글 떠오르는 것과 유사하다고 하여 버블정렬이라고 부릅니다.


1. 인접한 2개의 레코드 비교, 작은 숫자를 앞으로 교환

2. 가장 큰 수가 오른쪽 끝으로 가게 됨

3. 1의 과정을 다시 진행하여 모든 숫자가 정렬될 때 까지 반복



스캔 과정





버블정렬의 특징

버블정렬은 안정성이 있고, 비효율적인 정렬입니다. 알고리즘 자체가 정렬 방법들 중 가장 간단하고 구현이 쉽지만 정렬 속도가 느립니다. O(n^2)



버블정렬 구현




'Basics > Data Structure' 카테고리의 다른 글

정렬 - 합병정렬  (0) 2014.10.30
정렬 - 쉘 정렬  (0) 2014.10.30
정렬 - 삽입정렬  (1) 2014.10.29
정렬 - 선택정렬  (0) 2014.10.29
트리 (Tree)  (0) 2014.10.24
Posted by 긍정왕오킹