버블 정렬

BinaryHyeok·2023년 10월 17일
0

Algorithm

목록 보기
4/25

개념

서로 인접한 원소를 비교하여 교환하는 정렬 알고리즘

최악 시간복잡도 : 비교 - O(n^2) , 교환 - O(n^2)
최선 시간복잡도 : 비교 - O(n) , 교환 - O(1)
평균 시간복잡도 : 비교 - O(n^2) , 교환 - O(n^2)

방법

배열의 두 수(a, b)를 선택한 뒤, 그 두 수를 비교하여 오름차순, 내림차순에 맞게 정렬한다.
오름차순이라면 a < b, 내림차순이라면 a > b 이어야 하며, 이를 배열의 처음부터 끝까지 반복한다.

코드

void bubbleSort(int[] arr) {
    int temp = 0;
	for(int i = 0; i < arr.length - 1; i++) {
		for(int j = 1 ; j < arr.length - i; j++) {
			if(arr[j-1] > arr[j]) {
				temp = arr[j-1];
				arr[j-1] = arr[j];
				arr[j] = temp;
			}
		}
	}
	System.out.println(Arrays.toString(arr));
}

레퍼런스

wikipedia

0개의 댓글