Mi è stata posta questa domanda durante un'intervista. Sono entrambi O (nlogn) e tuttavia la maggior parte delle persone usa Quicksort invece di Mergesort. Perché?
Il Arrays.sortmetodo di Java 6 utilizza Quicksort per array di primitive e merge sort per array di oggetti. Credo che la maggior parte delle volte Quicksort sia più veloce di merge sort e costi meno memoria. I miei esperimenti lo supportano, sebbene entrambi gli algoritmi siano O (n log (n)). …
Il sito Web di Haskell introduce una funzione quicksort a 5 righe molto interessante , come mostrato di seguito. quicksort [] = [] quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater) where lesser = filter (< p) xs greater = filter (>= p) xs Includono anche un "True …
Quando si implementa Quicksort, una delle cose che devi fare è scegliere un pivot. Ma quando guardo uno pseudocodice come quello qui sotto, non è chiaro come dovrei scegliere il perno. Primo elemento della lista? Qualcos'altro? function quicksort(array) var list less, greater if length(array) ≤ 1 return array select and …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.