[정렬] 버블 정렬(bubble sort)

nayeoniee·2021년 5월 30일
0

Algorithm

목록 보기
2/29
post-thumbnail

버블 정렬(Bubble Sort)

  • 정렬이란?
    데이터가 주어졌을 때 이를 정해진 순서대로 나열하는 것
  • 버블 정렬이란?
    인접한 2개의 데이터를 비교해, 앞의 데이터가 뒤의 데이터보다 크면 자리를 바꾸는 정렬 알고리즘

예제

1 vs 10 -> 유지
10 vs 5 -> swap
10 vs 8 -> swap
10 vs 7 -> swap
10 vs 6 -> swap
10 vs 4 -> swap
10 vs 3 -> swap
10 vs 2 -> swap
10 vs 9 -> swap

1번의 반복이 끝나면 가장 큰 값 10이 맨 뒤로 이동한다
정렬이 완료된 요소는 파란색으로 표시함

구현

github link

def bubble_sort(data):
    for i in range(len(data)):
        for j in range(0, len(data) - 1, 1):
            if (data[j] > data[j + 1]):
                data[j], data[j + 1] = data[j + 1], data[j]
    return data

데이터의 개수(n)만큼 반복하면서:
처음에는 0~n 비교,
두번째는 1~n 비교,
세번째는 2~n 비교하면서 앞의 데이터가 뒤의 데이터보다 크면 swap


References
나동빈 알고리즘 강의

profile
정말 할 수 있어!

0개의 댓글