«quicksort» 태그된 질문


6
Java의 Arrays.sort 메소드가 다른 유형에 대해 두 가지 다른 정렬 알고리즘을 사용하는 이유는 무엇입니까?
Java 6의 Arrays.sort방법은 기본 배열에 Quicksort를 사용하고 객체 배열에 병합 정렬을 사용합니다. 대부분의 경우 Quicksort가 병합 정렬보다 빠르며 메모리 비용이 적게 든다고 생각합니다. 내 실험은 두 알고리즘이 모두 O (n log (n))이지만이를 지원합니다. 그렇다면 왜 다른 유형에 다른 알고리즘이 사용됩니까?


13
Quicksort : 피벗 선택
Quicksort를 구현할 때해야 할 일 중 하나는 피벗을 선택하는 것입니다. 그러나 아래와 같은 의사 코드를 보면 피벗을 어떻게 선택해야하는지 명확하지 않습니다. 목록의 첫 번째 요소? 다른 것? function quicksort(array) var list less, greater if length(array) ≤ 1 return array select and remove a pivot value pivot from array for each …


30
Python을 사용한 Quicksort
나는 완전히 파이썬을 처음 접했고 그것에 퀵 정렬을 구현하려고 노력하고 있습니다. 누군가 내 코드를 완성하도록 도와 주시겠습니까? 세 배열을 연결하고 인쇄하는 방법을 모르겠습니다. def sort(array=[12,4,5,6,7,3,1,15]): less = [] equal = [] greater = [] if len(array) > 1: pivot = array[0] for x in array: if x < pivot: less.append(x) …

7
O (N log N) 복잡성-선형과 유사합니까?
그래서 사소한 질문을해서 묻히게 될 것 같은데 뭔가 좀 헷갈려요. Java와 C로 퀵 정렬을 구현했으며 몇 가지 기본적인 비교를 수행했습니다. 그래프는 2 개의 직선으로 나 왔으며 C는 100,000 개의 임의 정수를 통해 Java보다 4ms 더 빠릅니다. 내 테스트 코드는 여기에서 찾을 수 있습니다. android-benchmarks (n log n) 선이 어떻게 생겼는지 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.