Arrays.sortМетод Java 6 використовує Quicksort для масивів примітивів і сортування об'єднань для масивів об'єктів. Я вважаю, що більшість часу Quicksort швидше, ніж сортування об'єктів і коштує менше пам'яті. Мої експерименти це підтверджують, хоча обидва алгоритми є O (n log (n)). То чому для різних типів використовуються різні алгоритми?
Веб-сайт Haskell представляє дуже привабливу 5- рядкову функцію швидкодію , як показано нижче. quicksort [] = [] quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater) where lesser = filter (< p) xs greater = filter (>= p) xs Вони також включають в себе "Справжній кікспорт в С" . …
При впровадженні Quicksort однією з речей, що вам потрібно зробити, є вибір стрижня. Але коли я дивлюсь на псевдокод, як той, що нижче, не зрозуміло, як я повинен вибрати шарнір. Перший елемент списку? Щось ще? function quicksort(array) var list less, greater if length(array) ≤ 1 return array select and remove …
Я абсолютно новачок у python, і я намагаюся реалізувати в ньому швидку сортування. Чи може хтось допомогти мені заповнити код? Я не знаю, як об'єднати три масиви та роздрукувати їх. def sort(array=[12,4,5,6,7,3,1,15]): less = [] equal = [] greater = [] if len(array) > 1: pivot = array[0] for x …
Тож я думаю, що мене поховають за таке тривіальне запитання, але я дещо в чомусь розгублений. Я застосував швидке сортування на Java та C, і я робив деякі базові порівняння. Графік вийшов у вигляді двох прямих ліній, причому C був на 4 мс швидшим, ніж аналог Java, понад 100 000 …