버블정렬(Bubble Sort) - java, python전공 이론 공부/알고리즘&자료구조2020. 2. 11. 15:52
Table of Contents
버블정렬은 인접한 두 원소를 비교하여 정렬하는 알고리즘이다.
예전에 수업들을때 교수님께서 원소를 버블버블 하나씩 올리는거라 버블정렬이라고..
<JAVA>
public class al_02_bubblesort {
public static void main(String[] args){
int[] a = {5, 9, 2, 4, 15, 6, 1, 20, 3, 10, 14, 0};
for( int j=0; j<a.length; j++) {
for (int i = 0; i < a.length - j-1; i++) {
if (a[i] > a[i + 1]){ //인접한 원소가 오름차순이 아닌경우 swap
int temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
<Python>
a = [5, 9, 2, 4, 15, 6, 1, 20, 3, 10, 14, 0]
for i in range(0, len(a)):
for j in range(0, len(a)-i-1):
if a[j] > a[j+1]: #오름차순이 아닌경우 swap
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
print(a)
장점: 코드가 단순하다
구현이 쉽다
단점: 비효율적이다
원소개수가 많아지면 시간이 기하급수적으로 증가한다
시간복잡도: O(n^2)
반응형
'전공 이론 공부 > 알고리즘&자료구조' 카테고리의 다른 글
그리디 알고리즘 (Greedy Algorithm) (0) | 2020.02.29 |
---|---|
큐 (Queue) (0) | 2020.02.29 |
스택 (Stack) (0) | 2020.02.29 |
퀵 정렬 (Quick Sort) - 파이썬 (0) | 2020.02.29 |
선택정렬(Selection Sort)- java, python (0) | 2020.01.08 |
@쿠몬e :: ˚˛˚ * December☃ 。* 。˛˚
전공 공부 기록 📘
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!