본문 바로가기
자료구조및알고리즘

(Python)BubbleSort 알고리즘

by windy7271 2022. 6. 6.
728x90
반응형

버블정렬이란 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다.

 

선택 정렬과 기본 개념이 유사하다. 

 

시간 복잡도는 o(n^2)

 

구현 코드:

# bubble_sort
def bubble_Sort(arr):
    n = len(arr) # 배열의 크기

    for i in range(n):
        # 배열의 총 크기에서 i의 값과 1을 뺀 만큼 반복
        for j in range(0, n - i - 1):

            # 만약 현재 인덱스의 값이 다음 인덱스의 값보다 클경우 실행
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j] # 서로 위치를 변환

arr = [10,20,40,30,22,64,32,77,24,29]

bubble_Sort(arr)

for i in range(len(arr)):
    print("%d " %arr[i],end = "")

 

n - i - 1 에서 i를 빼준이유는 이미 앞에 한 정렬은 하지 않기 때문이다.

반응형

댓글