Die Komplexität des Quicksorts liegt meines Wissens nach bei O( n*log
)
Ja im Average case. Im worst case liegt er genau in der selben K-Klasse wie der
Bubble Sort, was auch die Zeit in deinem Fall erklären könnte. Wenn du einen
Optimalen Sortieralgorithmus verwenden willst, nimm den merge oder heap, die
sich im übrigen auch mit der STL realiesieren lassen.
Das gleiche Problem, allerdings "händisch" ohne STL mit einem Bubblesort realisiert (Komplexität O(n^2)! ) knapp 4 Sek. Okay, zugegeben...
Glaub ich dir nicht...Und wenn(wie in deinem Fall) dann ist es kein Bubblesort mehr.
Der Bubblesort besitzt sowohl im Average als auch im worst case O(n*n)...
Das Rad immer neu erfinden muss man auch nicht. Wenn man sich ein paar Includes schreibt mit Templates z.B. zum sortieren usw. erledigt sich das ganze schon fast von alleine C++ zeichnet sich schliesslich durch "Codereusability" aus.
Die Algorithmen der STL sind durch und durch getestet. Sprich die
Anfälligkeit auf einen Bug liegen bei nahezu 0%.
Wenn du Algorithmen jedesmal neu definierst musst du sie auch anständig
durchtesten, wobei wieder Zeit für die Entwicklung drauf geht =>
Die Projektkosten steigen.
Also wieso dann nicht gleich auf hochwertig Qualitative Bibliotheken
zurückgreifen?
In diesem Sinne
Gruß
RedWing