알고리즘

    merge sort

    Divide and Conquer의 한 종류 merge sort의 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 # merge def merge_sort(a): n = len(a) if n

    selection sort

    내가 구현한 방법과 정식 알고리즘을 비교해보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # selection def selection_sort_not_good(a): # 이 방법은 swap을 원래 방법보다 많이 하게 된다. 또한 insertion에 가까운 방법이다. n = len(a) for i in range(0, n - 1): for j in range(i + 1, n): if a[j] a[j]: # i 뒤의 애들을 전부 흝고 그 중 하나를 골라서 swap min_idx = j a[i], a[min_idx] = a[min_idx], a[i] # swap Colored by Color Scripter cs 원래의 방법은 기준이 되는 것 뒤의 애들을 한번 다 ..