일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 임파선전이
- 수술
- 백준알고리즘
- 전이
- 입원준비
- 알고리즘
- firebase
- 폐CT
- 저요오드식
- 정렬 알고리즘
- 객체
- 프로그래머스
- java
- 월간 코드 챌린지 시즌1
- 맛집
- MYSQL
- leetcode
- 경력 개발자
- 용인세브란스병원
- 방사성동위원소치료
- 갑상선암
- 입원
- 카페
- 갑상선암용인세브란스
- 방사성 동위원소 치료
- 동위원소치료
- 안드로이드
- 림프절전이
- 이직 준비
- Android
Archives
- Today
- Total
새우버거의 개발 블로그
[Java] 정렬 알고리즘 (2) - 버블 정렬 (Bubble Sort) 본문
버블 정렬 (Bubble Sort)
1. 두 숫자를 비교해서 더 작은 숫자를 왼쪽에 두는 것
2. 반복이 끝났을 때, 최댓값이 맨 뒤에 있게 된다.
3. 시간 복잡도 : O(𝑁²)
4. 선택 정렬보다 비효율적인 알고리즘
→ 선택 정렬은 비교하면서 최솟값을 저장하고, 한 번 반복이 끝나고 바꾸기 연산을 수행하지만
버블 정렬은 비교할 때마다 바꾸기 연산이 이뤄지기 때문이다.
import java.util.Arrays;
public class BubbleSort {
int[] array = new int[]{10, 2, 5, 8, 12, 73};
public void sort() {
int temp;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length - i - 1; j++) {
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(array));
}
}
'Java & Kotlin > 알고리즘' 카테고리의 다른 글
[Java] 정렬 알고리즘 (4) - 퀵 정렬 (Quick Sort) (0) | 2021.05.23 |
---|---|
[Java] 정렬 알고리즘 (3) - 삽입 정렬 (Insertion Sort) (0) | 2021.05.23 |
[Java] 정렬 알고리즘 (1) - 선택 정렬 (Selection Sort) (0) | 2021.05.23 |