| 정체 | 리턴 | 객체/값 전달 | 졍렬 기본 인자 | 정렬 기준지정법 | |
|---|---|---|---|---|---|
| .sort 메소드 | 리스트 메소드 | 반환 값 없음(None) | 원본 리스트 바뀜 | reverse=False | key=len |
| (길이기준정렬) | |||||
| sorted() 함수 | 내장 | ||||
| 함수 | 새로운 리스트 반환 | 원본 안 바뀜 | reverse=False | key=lambda x: x[2] (람다로 내부리스트의 특정 원소 기준 정렬 가능) |
느림.

분할 정복 알고리즘- 재귀 구조임
기준을 어떻게 정하느냐가 성능에 영향(최초 3개 중 중간값을 선택하는 방법이 최악을 피하게 함.)
최악의 경우의 수는 버블이나 삽입과 속도가 같아짐.

이진 탐색 트리를 만들어 정렬하는 방식이다. 힙 정렬과 비슷해 보이지만 차이가 있는데, 정렬될 자료의 각 원소 크기에 따라 부모 노드의 왼쪽 자식이 되느냐 오른쪽 자식이 되느냐가 갈린다는 차이가 있다.어떻게 진행되는지를 대략적으로 설명하자면,
예를 들어, [4, 6, 1, 7, 5, 8, 2, 3]을 트리 정렬로 정렬하기 위해 이진 트리를 만들면 이렇게 된다.
| 4 | |||||||
|---|---|---|---|---|---|---|---|
| 1 | 6 | ||||||
| 2 | 5 | 7 | |||||
| 3 | 8 |
이 이진 트리를 중위 순회 방식(왼쪽 자식 - 자신 - 오른쪽 자식 순)으로 순회하면(위 그림에서 무지개색 순으로 순회한다) [1, 2, 3, 4, 5, 6, 7, 8]이 된다.최대값과 최소값을 탐색할때 매우 강력하다.이를 배열로도 구현이 가능하다 그러나 입력값이 적은것이 아니라면 별로 추천하지 않는다.[28]
평균적으로 버블보다 빠르거나 같음

성능이 일관적이다. 정렬된 두 배열을 머징할때 응용하면 가장 빠르게 정렬된 상태로 합칠 수 있다.

삽입 정렬을 띄엄띄엄 하고 간격을 좁히기
(Counting sort)**