반응형

정렬 3

[알고리즘] 파이썬으로 힙 정렬 구현하기 :: heap sort in python

파이썬으로 힙 정렬(heap sort) 구현하기 힙 정렬(Heap sort)이란 최대 힙 트리나 최소 힙 트리를 구성해 정렬을 하는 방법으로서, 내림차순 정렬을 위해서는 최대 힙을 구성하고 오름차순 정렬을 위해서는 최소 힙을 구성하면 된다. 본 포스팅에서는 최소힙으로 오름차순 정렬을 구현해보겠다.내림차순은 아래 코드에서 부등호방향만 반대로 바꾸면 된다. 123456789101112131415161718192021222324252627def heapify(li, idx, n): l = idx * 2; r = idx * 2 + 1 s_idx = idx if (l li[l]): s_idx = l if (r li[r]): s_idx = r if s_idx != idx: li[idx], li[s_idx] = li..

[알고리즘] 파이썬으로 병합 정렬 구현하기 :: merge sort in python :: bottom up 방식

파이썬으로 bottom-up 방식 merge sort 구현하기 1. merge sort란? 합병정렬/병합정렬은 반씩 분할해서 다시 합치면서 정렬하는 방식이다. https://ko.wikipedia.org/wiki/합병_정렬#/media/파일:Merge-sort-example-300px.gif 2. merge sort in python 이를 python3에서 구현하면 다음과 같다. 123456789101112131415161718192021# merge sortdef merge(left, right) : v=list() i=0;j=0 while(i merge_sort([0, 5, 7, 6, 1, 2, 8, 3, 4, 9]) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] input으로 들어간 10개..

[알고리즘] 파이썬으로 삽입정렬 구현하기 :: insertion sort in python

파이썬으로 삽입정렬 구현하기 :: insertion sort in python 1. 삽입정렬이란? What is a insertion sort? 삽입 정렬은 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다.https://ko.wikipedia.org/wiki/%EC%82%BD%EC%9E%85_%EC%A0%95%EB%A0%AC 2. insertion sort in python 이를 python3에서 구현하면 다음과 같다. 123456789# insertion sortdef insert(v) : for i in range(1,len(v)) : j=i-1 while(j>=0 and v[i] insert([7, 6, 1, 8, 5,..

반응형