Quick Sort
Divide & Conquer1. Base case: find the simplest possible case2. Divide or decrease the problem until it becomes the base case Best: O(n log n)Average: O(n log n)Worst: O(n^2) def quicksort(array): if len(array) pivot] return quicksort(less) + [pivot] + quicksort(greater) Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People 참고