Python의 내장 sort () 메서드 정보
sort()
파이썬에 내장 된 방법 은 어떤 알고리즘을 사용합니까? 해당 메서드의 코드를 볼 수 있습니까?
확실한! 코드는 여기에 있습니다 . 함수로 시작 islt
하여 잠시 QUITE를 진행합니다 .-). Chris의 의견에서 알 수 있듯이 C 코드입니다. 또한 텍스트 설명, 결과 등을 위해이 텍스트 파일 을 읽고 싶을 것입니다 .
C 코드보다 Java 코드를 읽는 것을 선호한다면 Joshua Bloch의 timsort 구현 및 Java 용을 살펴볼 수 있습니다 (Joshua는 1997 년 Java에서 여전히 사용되는 수정 된 병합 정렬을 구현 한 사람이기도합니다. 결국 그의 최근 팀 소트 항구로 전환).
timsort의 Java 포트에 대한 몇 가지 설명은 여기 , diff는 여기 (필요한 모든 파일에 대한 포인터 포함), 키 파일은 여기에 있습니다 . FWIW, 저는 Java 프로그래머보다 더 나은 C 프로그래머입니다. Joshua의 Java 코드는 Tim의 C 코드보다 전반적으로 더 읽기 쉽습니다 .-).
Alex의 포괄적 인 답변에서 놓친 매우 유용한 링크 인 Python의 timsort에 대한 높은 수준의 설명 (그래프 시각화 포함!)을 제공하고 싶었습니다 .
(예, 알고리즘은 현재 기본적으로 Timsort 로 알려져 있습니다.)
초기 파이썬 버전에서 sort 함수는 수정 된 버전의 quicksort를 구현했습니다. 그러나 불안정한 것으로 간주되어 2.3에서 적응 형 병합 정렬 알고리즘을 사용하도록 전환했습니다.
참고 URL : https://stackoverflow.com/questions/1517347/about-pythons-built-in-sort-method
'IT story' 카테고리의 다른 글
EclipseIDE에서 클래스의 모든 메서드에 메서드 중단 점 추가 (0) | 2020.09.05 |
---|---|
getAttribute () 대 Element 객체 속성? (0) | 2020.09.05 |
Android에서 @SmallTest, @MediumTest 및 @LargeTest 주석의 목적은 무엇입니까? (0) | 2020.09.05 |
ng-model을 사용하여 날짜 형식을 지정하는 방법은 무엇입니까? (0) | 2020.09.05 |
PowerShell에서 "%"(퍼센트)는 무엇을합니까? (0) | 2020.09.05 |