Du sammenligner de tre tal! Start med at ligge de første tal over i en variabel X. Næste gang du sammenligner skal værdien kun ligges over i variavlen hvis den er større end den værdi osm allerede ligger i X! Tilsids har du så det højeste tal i arrayet!
Overhovedet ikke. Det handler ikke om tro, men om fakta. Og hastigheden afhænger af størrelsen af det pågældende array. Da lineær søgning altid er hurtigst, er det omsonst at begynde at sætte tal på.
Quicksort = n*log(n) performance Gennemløb = n performance
Det er rigtig nok, men stadig væk skal der også tænkes på at man sommetider vil have mindste værdien af et array!
Denne godt findes i et smæk, men det kræver at du koder en del for at finde begge del. Hvis du ligger mindste og største værdi i to seperate funktioner vil du have 2 gennemløb på n performance, hvilket vil være dårligere end n*log(n) performance hvor du vil kunne finde begge elementer.
Efter du har sortere vil oxo kunne benytte en binær søgning til at finde en værdi i arrayet.
rj7971: Korrekt ved større talmængder, men startop tiden er stor for quicksort, den er også rekursiv (oftest) hvilket resulterer i stort forbrug af stack.
Forresten er quicksorts tidskomplextitet kun n*log(n) normalt, i værste tilfælde er den n^2 (når data ligger i perfekt omvendt rækkefølge)
En gennemløb med en komplexitet på O(n) er ALTID hurtigere end quicksort !
dk_aji: Man skal ikke bruge en smart sorteringsalgoritme når man kun har 3 data, en dygtig programmør vælger værktøj efter problemstilling. Hvis man senere skal finde max værdi i 100000 elementer er gennemløb stadigvæk det hurtigste :)
disky: Taget fra JDK dokumentationen: The sorting algorithm is a tuned quicksort, adapted from Jon L. Bentley and M. Douglas McIlroy's "Engineering a Sort Function", Software-Practice and Experience, Vol. 23(11) P. 1249-1265 (November 1993). This algorithm offers n*log(n) performance on many data sets that cause other quicksorts to degrade to quadratic performance.
Det vil dog sige at den også kan rygge ned i n^2 men dette sker sjældent!
" i værste tilfælde er den n^2 (når data ligger i perfekt omvendt rækkefølge)" gælder ikke quicksort generelt men kun quicksort med første eller sidste element som pivot element.
(hvorfor de fleste vel tager midterste element som pivot element)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.