티스토리 뷰
버블정렬(거품정렬)
시간복잡도가 n의 제곱으로 늘어나기 때문에 시간이 굉장히 오래 걸린다.
정렬에 걸리는 시간은 오래 걸리지만 알고리즘이 단순하기 때문에 자주 사용된다.
알고리즘은 다음과 같다.
배열의 n번과 n+1번을 비교하여 n번이 더 크면 둘을 바꾼다.
즉 더 큰값을 뒤로 돌린다.
이를 반복하여 가장 큰값을 맨뒤로 보내고 이를 처음부터 마지막의 앞까지 반복하여 정렬을 진행한다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package sdk.java.sort; | |
public class BubbleSort { | |
public static void main(String[] args) { | |
int[] array = { 4, 3, 2, 5, 6, 19, 23, 5, 18, 28, 8 }; | |
sort(array); | |
for(int a : array) { | |
System.out.format("%d ", a); | |
} | |
} | |
public static void sort(int[] array) { | |
for(int i = 0; i < array.length; i++) { | |
for(int j = 0; j < array.length - 1; j++) { | |
if(array[j] > array[j+1]) { | |
int temp = array[j]; | |
array[j] = array[j+1]; | |
array[j+1] = temp; | |
} | |
} | |
} | |
} | |
} |
https://namu.wiki/w/%EC%A0%95%EB%A0%AC%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98#s-2.1.1
https://ko.wikipedia.org/wiki/%EA%B1%B0%ED%92%88_%EC%A0%95%EB%A0%AC
반응형
'알고리즘' 카테고리의 다른 글
[스크랩] 나는 어떻게 알고리즘을 공부했을까? (1) | 2016.06.30 |
---|---|
[스크랩] 최대 연속 부분 구간 합 문제를 푸는 알고리즘 (0) | 2016.06.27 |
[스크랩] 문제 해결을 위한 창의적 알고리즘 (2) | 2016.06.24 |
[JAVA] 순열(Permutation) 만들기 (0) | 2016.06.13 |
[Java] 그래프 탐색법, 깊이우선탐색, 너비우선탐색 (0) | 2016.06.09 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 다이나믹
- SQL
- Python
- S3
- 정올
- HDFS
- ubuntu
- Tez
- 하둡
- HIVE
- 알고리즘
- airflow
- emr
- java
- Linux
- mysql
- error
- build
- hbase
- SPARK
- AWS
- 오류
- oozie
- nodejs
- 하이브
- 백준
- 파이썬
- yarn
- bash
- Hadoop
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함