BASE/Alogorithm

알고리즘 - 버블 정렬 / 거품 정렬 (Bubble Sort)

진아링 2021. 1. 8. 13:04
728x90
반응형

알고리즘 - 버블 정렬 / 거품 정렬 (Bubble Sort)

버블 정렬은 서로 인접한 두 원소를 검사해 정렬하는 알고리즘이다. 첫 번째 자료와 두 번째 자료, 두번째 자료와 세 번째 자료, ... , 마지막-1 번째 자료와 마지막 자료의 대소를 비교해 교환한다. 1회전 할 때 마다 마지막 자료는 가장 큰 값이 되므로 (조건이 오름차순일 경우) 정렬에서 제외한다.

 

[ 시간복잡도 ]

(n-1) + (n-2) + .... + 2 + 1 => n(n-1)/2 = O(n^2)

 

[ 예시 ]

 

[ 코드 ]

size = int(input())
arr = []

for i in range(size):
    arr.append(int(input()))

for i in reversed(range(size)):
    for j in range(i):
        if arr[j] > arr[j+1]:
            temp = arr[j]
            arr[j] = arr[j+1]
            arr[j+1] = temp

for i in arr:
    print(i)

 

728x90
반응형