728x90
버블 정렬이란?
버블 정렬(Bubble Sort)은 이름에서 알 수 있듯이, '거품' 같은 방식으로 정렬하는 알고리즘입니다.
이는 연속된 두 요소를 비교하여 크기가 더 큰 값을 뒤로 보내는 방식을 반복적으로 수행함으로써 모든 요소가 올바른 순서로 정렬되게 만듭니다.
버블 정렬은 비교적 이해하기 쉬우며 구현도 간단한 편이지만, 효율성 측면에서는 빠른 속도를 기대하기 어렵습니다.
그럼에도 불구하고, 컴퓨터 공학의 기초 개념을 익히는 데 매우 유용하며, 가장 기본적인 정렬 알고리즘 중 하나입니다.
Java에서의 버블 정렬 구현
public class BubbleSort {
void bubbleSort(int arr[]) {
int n = arr.length;
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// swap arr[j+1] and arr[j]
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}
C에서의 버블 정렬 구현
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// swap arr[j+1] and arr[j]
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
위의 코드는 버블 정렬의 가장 기본적인 형태를 보여줍니다.
이는 배열의 각 요소를 순차적으로 비교하며, 바로 다음 요소가 현재 요소보다 작을 경우 두 요소의 위치를 교환합니다.
이상으로, Java 와 C 에서 버블정렬을 구현하는 방법을 알아봤습니다.
버블정렬은 효율성보다는 프로그밍 알고리즘 학습 단계에서 중요한 알고리즘 입니다.
앞으로도 계속해서 다른 정렬 알고리즘(퀵 정렬, 병합 정렬, 힙 정렬 등)을 학습하며, 각각의 장단점과 적용 사례에 대해 배워가는 것이 중요합니다.
728x90
'dansoon-Dev > [BackEnd]' 카테고리의 다른 글
HTTP 요청 상태 코드 : HTTP Request Status Code (0) | 2023.05.19 |
---|---|
[DataBase] RDBMS와 NoSQL 데이터베이스의 차이 (0) | 2023.03.29 |
[Java] Java 버전 8과 11과 17 차이점 (0) | 2023.03.23 |
[Java] Gmail API 를 이용하여 메일 보내기 (0) | 2023.03.10 |
댓글