Buble sort

매일 공부(ML)·2022년 4월 8일
0

이어드림

목록 보기
11/146

정렬

안전 정렬 vs 불안정 정렬

  • 중복된 값의 순서 보장 여부를 뜻하는 것입니다.

**In-place 정렬 vs Out of place 정렬

  • 원본 데이터 내 정렬 여부를 뜻하는 것입니다.

Bubble Sort

인접한 두 element의 값을 비교하는 것으로 두 값이 정렬되어있지 않다면 위치를 교환

정렬이 완료된 elements를 제외하고 아래 과정의 반복합니다.

항상 정렬이 끝난 다음엔 가장 최고값이 맨 끝인 오른쪽으로 이동이 된 상태입니다.

이러한 이유로 시간 복잡도는 O(N^2)입니다.

*예시


CODE

def bubble_sort(arr): #버블 정렬 함수 구현
#for문의 의미는 인접한 요소들의 위츨ㄹ 말하는 것입니다.

    for i in range(len(arr) -1 ): # 배열 길이보다 하나 작은 값을 천천히 넣기
        for j in range(len(arr) - i -1): # j에는 배열 길이 - i - 1 
            if arr[j] > arr[j+1]: #만약 j의 위치 값이  j+1의 위치 값보다 크다면
                arr[j], arr[j+1] = arr[j+1], arr[j] # 자리를 교환해라
if __name__ == "__main__": #main.py
    arr = [9,1,6,3,7,2,8,4,5,0] #정렬해야하는 값
    bubble_sort(arr) #버블함수 적용

    print(arr) # 결과값 :[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
profile
성장을 도울 아카이빙 블로그

0개의 댓글