Effizienz von Sortieralgorithmen

Name:
Effizienz von Sortieralgorithmen

Ef­fi­zi­enz und Lauf­zeit

1
In der In­for­ma­tik dau­ern Ver­glei­che und der Tausch von Wer­ten in Va­ri­a­blen nor­ma­ler­wei­se nur Bruch­tei­le einer Se­kun­den. Doch wenn wir sehr viele die­ser Ver­glei­che/Tau­sche ma­chen müs­sen ist die Ef­fi­zi­enz der Al­go­rith­men auf ein­mal in­ter­es­sant. Ent­spre­chend wol­len wir wis­sen, wel­cher der uns be­kann­ten Sor­tier­al­go­rith­men am schnells­ten ist. Dazu Ver­glei­chen wir den so­ge­nann­ten Worst-​Case (längst mög­li­che Dauer) und Best-​Case (kür­zest mög­li­che Dauer) der ver­schie­de­nen Al­go­rith­men. In un­se­rem Bei­spiel ver­wen­den wir einen Array mit 10 Zah­len. Fülle die Ta­bel­le ent­spre­chend aus.

Al­go­rith­mus

Best-​Case

# Ver­glei­che

Worst-​Case

# Ver­glei­che

Best-​Case

Tau­sche

Worst-​Case

Tau­sche

Bubble-​Sort

45 = 

45

0

45

Selection-​Sort

45

45

0

9

Insertion-​Sort

9

45

0

45

O-​Notation (Das Land­au Sym­bol)

In der In­for­ma­tik ver­wen­det man die O-​Notation, um die Lauf­zei­ten von Pro­gram­men ab­zu­schät­zen. Alle drei uns be­kann­ten Sor­tier­al­go­rith­men wer­den mit der No­ta­ti­on O() be­züg­lich der Lauf­zeit ab­ge­schätzt. Dabei steht n für die An­zahl an zu sor­tie­ren­den Zah­len im Array. Das be­deu­tet, dass wir uns fast n Mal fast alle n Zah­len im Array an­schau­en müs­sen. Wenn wir bei­spiels­wei­se jedes der Ele­men­te nur ein­mal an­schau­en könn­ten, wäre die Lauf­zeit O(n).

Schnel­le­re Sor­tier­al­go­rith­men???

Es gibt auch Sor­tier­al­go­rith­men mit einer Lauf­zei­ten von O(n log(n)) (etwas bes­ser als O()) oder sogar O(n). Diese haben je­doch an­de­re Schwä­chen, wo­durch sie in der Pra­xis häu­fig trotz­dem län­ger brau­chen. Das ist je­doch nur ein klei­ner Aus­blick auf die vie­len an­de­ren span­nen­den Al­go­rith­men und Ana­ly­sen, die wir ir­gend­wann mal be­trach­ten kön­nen.

Mathe-​Fact: Gauß­sche Sum­men­for­mel

100 + 99 + 98 + ... + 1 =  = 5050



Oder all­ge­mein n + n-1 + n-2 + ... + 1 = 

Effizienz von Sortieralgorithmen

von Meurer

Mehr entdecken:

Lizenzhinweis

Alle Bestandteile dieses Materials sind frei oder unlizenziert. Klicken Sie auf einen Baustein, um die Lizenz zu sehen.
x