반응형
- 두 인접한 원소를 검사하여 정렬하는 방법
- 시간복잡도 : O(n^2)
- 세번의 회전에 걸쳐 정렬은 완료되었지만 프로그램은 남은 데이터의 비교연산을 계속 처리함.
- 정렬은 비교연산을 통해 가장 큰 데이터 부터 끝에 정렬됨.
버블 정렬의 장점
- 구현이 쉽다.
- 이미 정렬된 데이터를 정렬할때 가장 빠르다.
버블 정렬의 단점
- 다른 정렬에 비해 정렬 속도가 느리다.
- 역순배열을 정렬할때 가장 느리다.
package algorithm.sort;
public class Bubble {
public static void main(String[] args) {
int[] arr = {3,6,1,9,2,7,4,8,5,0, 14,23,98,45,76,34};
bubbleSort(arr);
System.out.println("===========================");
for(int item : arr){
System.out.print(item);
System.out.print("|");
}
System.out.println();
System.out.println("===========================");
}
private static void bubbleSort(int[] arr){
int tmp;
for(int i = 0 ; i < arr.length ; i++){
for(int j = 0 ; j < arr.length - 1 - i ; j++){
if(arr[j] > arr[j+1]){
tmp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = tmp;
}
}
}
}
}
반응형
'Algorithm' 카테고리의 다른 글
[Sort] Quick (0) | 2020.07.12 |
---|---|
[Sort] Merge (0) | 2020.07.07 |
[Sort] Insertion (0) | 2020.07.07 |
[Sort] Selection (0) | 2020.07.05 |