sort algorithm 2

[Python/파이썬] 정렬 알고리즘 정리 1 (삽입 정렬, 선택 정렬, 거품 정렬 / Insertion sort, Selection sort, Bubble sort) (백준 알고리즘 2750번 - 수 정렬하기)

Insertion sort, Selection sort, Bubble sort은 모두 시간 복잡도가 O(n^2)으로 한 family의 알고리즘이라고 한다. 이들을 가지고 '백준 알고리즘 2750번 - 수 정렬하기' 문제를 풀어보겠다. 물론 파이썬의 내장함수를 쓸 수도 있다. 하지만 문제의 의도가 그것이 아니기 때문에 정렬 알고리즘들을 가지고 풀어보겠다. Insertion Sort 알고리즘은 위와 같은 개념으로 정렬되는 알고리즘이다. ### N = int(input()) result = [] for _ in range(N): result.append(int(input())) for i in range(1, N): cursor = result[i] j = i while j ..

[알고리즘] 더 효율적인 Quick Sort에 대한 생각

오늘 학기의 마지막 자료구조론 수업으로 Sort 알고리즘들에 대해 배웠다. 그 중 Quick Sort를 더 효율적인 Time Complexity로 사용할 수 있을 것 같아 생각을 글로 남긴다. 먼저 Selection Sort, Insertion Sort, Bubble Sort와 같은 경우 O(n^2)의 Time Complexity를 갖는다. 그리고 Merge Sort, Quick Sort의 경우 O(nlogn)의 Time Complexity를 갖는다. 근데 Quick Sort는 조금 다른점이 있는데 다른 Sort 알고리즘의 경우 worst case의 Time Complexity이지만 Quick Sort는 평균적인 경우의 Time Complexity였다. Quick Sort는 pivot을 결정하는 부분에서..

반응형