버블 정렬 (Bubble sort)
버블정렬이란?
거품 정렬( - 整列, 영어: bubble sort, sinking sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 출처 : 위키
옆의 갚과 비교해서 작은 값을 앞으로 보낸다고 생각하자.
과정설명
- 첫번째 원소와 바로 다음 원소 비교
- 다음 원소가 더 작은 값 일 경우 스왑
C언어 코드
#include<stdio.h>
int main() {
int i, j, temp;
int array[10] = { 3,5,2,1,4,10,8,9,7,6 };
for ( i = 0; i < 10; i++) {
for (j = 0; j < 9 - i; j++) { // 확정된 자리를 비교 할 필요가 없으므로 n - i 만큼 반복
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (i = 0; i < 10; i++) {
printf("%d ",array[i]);
}
}
시간 복잡도 (Big O)
거품 정렬( - 整列, 영어: bubble sort, sinking sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 출처 : 위키
- 첫번째 원소와 바로 다음 원소 비교
- 다음 원소가 더 작은 값 일 경우 스왑
C언어 코드
#include<stdio.h>
int main() {
int i, j, temp;
int array[10] = { 3,5,2,1,4,10,8,9,7,6 };
for ( i = 0; i < 10; i++) {
for (j = 0; j < 9 - i; j++) { // 확정된 자리를 비교 할 필요가 없으므로 n - i 만큼 반복
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (i = 0; i < 10; i++) {
printf("%d ",array[i]);
}
}
시간 복잡도 (Big O)
#include<stdio.h>
int main() {
int i, j, temp;
int array[10] = { 3,5,2,1,4,10,8,9,7,6 };
for ( i = 0; i < 10; i++) {
for (j = 0; j < 9 - i; j++) { // 확정된 자리를 비교 할 필요가 없으므로 n - i 만큼 반복
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (i = 0; i < 10; i++) {
printf("%d ",array[i]);
}
}
버블정렬은 선택정렬과 마찬가지로 시간복잡도가 N^2 이다. 가장 비 효율적인 알고리즘이라고 할 수 있다.
Author And Source
이 문제에 관하여(버블 정렬 (Bubble sort)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@h0ngwon/버블-정렬-Bubble-sort저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)