[알고리즘 공부] 3. Insertion Sort (삽입 정렬)
Selection Sort(선택 정렬) 와 비슷한 느낌으로 진행되는 Insertion Sort(삽입 정렬) 입니다. 하나씩 가져와서 앞의 원소들과 확인 후 알맞는 자리에 넣는 형식의 정렬 형태입니다. 버블 정렬, 선택 정렬에 비해 조금 귀찮아보이지만 사실 구현으로 들어가면 크게 다르지 않습니다. 구현이 똑같이 간단하다는 것은? 네 그렇습니다. 똑같이 시간 복잡도도 크게 다르지 않다는 뜻입니다. ㅜㅜ 마찬가지로 시간 복잡도 또한 O(n^2)입니다. 원리 또한 마찬가지로 간단하므로 바로 파이썬 구현으로 넘어가겠습니다. input = [14,54,5,2,1,36,324,34,213,6,7,4] def InsertionSort(input): length = len(input) for x in range(1, l..
2021. 5. 25.
[알고리즘 공부] 2. Selection Sort (선택 정렬)
버블 정렬과 비해도 크게 어렵지 않은 쉬운 정렬 중 하나인 Selection Sort(선택 정렬)입니다. 선택 정렬은 수열을 배회하다가 가장 작은 수를 찾아 맨 앞으로 내보내고 그 다음 숫자부터 반복하는 쉬운 정렬 입니다. 버블 정렬과 마찬가지로 구현의 간단함을 대가로 시간 복잡도를 잃었습니다. 선택 정렬의 시간 복잡도는 O(n^2)으로 버블 정렬과 동일합니다. 크게 어려운 것이 없으니 마찬가지로 파이썬 구현으로 넘어가겠습니다. input = [14,54,5,2,1,36,324,34,213,6,7,4] def SelectionSort(input): length = len(input) # 한바퀴 돌때 마다 시작 숫자는 한칸씩 뒤로 for x in range(length): for y in range(x, ..
2021. 5. 25.