Wie kann ich mathematisch den Aufwand von Sortieralgorithmen bestimmen.
z.B. beim SelectionSort/Sortieren durch Auswählen
Algorithmus:
http://www.matheprisma.uni-wuppertal.de/Module/Sortieren/index.htm
Bitte überfliegt einmal diese Seite.
Nun ist bei Matheprisma die Aufwandsanalyse folgender Maßen veranschaulicht.
Die erste i-Schleife muss n-1 mal durchlaufen werden.
(ist ja auch logisch da, das letzte Element nicht mit sich selber verglichen wird)
Die zweite Schleife muss (n-(i+1))mal durchgelaufen werden.
(Das nächste Element wird verglichen, deswegen i +1, und die noch zu sortierende Liste nimmt kontinuierlich ab, deswegen wird i+1 auch von n abgezogen).
Meine frage ist dann wie ich mittels eines Terms nun die Abhängigkeit der Speichervergleiche von n- der Felder des Array bzw. der Liste ausdrücke und evtl vereinfache, sodass ich die Gleichung wie bei Matheprisma erhalte.
Für die Speichervertauschungen müsste es ähnlich funktionieren - nur mit dem faktor 3 aufgrund der 3 damit verbundener Speicheroperationen multipliziert werden.
danke
z.B. beim SelectionSort/Sortieren durch Auswählen
Algorithmus:
http://www.matheprisma.uni-wuppertal.de/Module/Sortieren/index.htm
Bitte überfliegt einmal diese Seite.
Nun ist bei Matheprisma die Aufwandsanalyse folgender Maßen veranschaulicht.
Die erste i-Schleife muss n-1 mal durchlaufen werden.
(ist ja auch logisch da, das letzte Element nicht mit sich selber verglichen wird)
Die zweite Schleife muss (n-(i+1))mal durchgelaufen werden.
(Das nächste Element wird verglichen, deswegen i +1, und die noch zu sortierende Liste nimmt kontinuierlich ab, deswegen wird i+1 auch von n abgezogen).
Meine frage ist dann wie ich mittels eines Terms nun die Abhängigkeit der Speichervergleiche von n- der Felder des Array bzw. der Liste ausdrücke und evtl vereinfache, sodass ich die Gleichung wie bei Matheprisma erhalte.
Für die Speichervertauschungen müsste es ähnlich funktionieren - nur mit dem faktor 3 aufgrund der 3 damit verbundener Speicheroperationen multipliziert werden.
danke