알고리즘

알고리즘 – 버블정렬 (Bubble Sort)

  • 버블정렬(Bubble Sort) 이란?
    • 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘
      • 비교 정렬에 속함
    • 버블 정렬 특징
      • 선택 정렬과 마찬가지로 구현이 쉬움
      • 잦은 비교와 교환으로 성능이 나쁨
    • 버블 정렬 알고리즘의 시간복잡도
  • 예제 – 버블 정렬 (오름차순)
# Python Code

arr = [3,1,6,0,1,9,4]
N = len(arr)

for _ in range(N):
    for i in range(N-1):
        if arr[i] > arr[i+1]:
            temp = arr[i]
            arr[i] = arr[i+1]
            arr[i+1] = temp

print(arr)
# [0, 1, 1, 3, 4, 6, 9]
  • 과정 – 오름차순
정렬 전 초기 배열의 모습

첫 번째 배열부터 마지막 배열까지 자신의 인접한 배열과 순차적으로 비교를 통해 교환하여 정렬합니다.

첫 번째 배열 3은 두 번째 배열 1보다 크므로 교환됩니다
두 번째 배열 3은 세 번째 배열 6보다 작으므로 교환되지않습니다
세 번째 배열 6은 네 번째 배열 0 크므로 교환됩니다
동일한 과정으로 마지막 배열까지 교환이 끝나면 1회전이 끝납니다

현재까지 진행된 1번째 ~ 마지막 배열 비교를 배열을 수만큼 반복 작업을 하게 되면 아래와 같은 정렬이 완성됩니다.

최종 정렬

이상으로 버블 정렬에 대한 설명을 마칩니다! 😀

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.