[TIL] 선택 정렬, 버블 정렬

trequartista·2020년 7월 6일
0
post-thumbnail

선택정렬

  • 최소값을 찾아 앞쪽으로 이동하기를 배열 크기만큼 반복하는 정렬

import random

def selectionSort(arr):
    for i in range(len(arr)):
        min_index = i
        # print(arr)
        for j in range(i, len(arr)):
            if arr[j] < arr[min_index]:
                min_index = j
        arr[i], arr[min_index] = arr[min_index], arr[i]
    return arr

장단점

  • 장점
  1. 데이터 양이 적을 때 아주 좋은 성능을 나타냄
  2. 작은 값을 선택하기 위해 비교는 여러번 하지만 교환횟수가 적음
  • 단점
  1. 100개 이상의 자료에 대해서는 속도가 급격히 떨어짐

버블 정렬

  • 두 인접한 원소를 검사하여 정렬하는 방법

    import random
    def bubbleSort(arr):
       for i in range(len(arr)):
           print(arr)
           for j in range(len(arr)-i-1):
               if arr[j] > arr[j+1]:
                   arr[j], arr[j+1] = arr[j+1], arr[j]
       return arr

    장단점

  • 장점

  1. 단순하고 안정성 있게 값을 정렬
  • 단점
  1. 시간이 오래걸림
profile
Slow and steady win the race

0개의 댓글