Skip to main content

Sortieren

  • 1464 Accesses

Zusammenfassung

Das effiziente Sortieren einer gegebenen Menge von Objekten ist eine fundamentale Problemstellung in der Algorithmischen Mathematik. In diesem Kapitel werden wir einige weitverbreitete Sortieralgorithmen kennenlernen und analysieren. Darüber hinaus befassen wir uns mit der Frage der Optimalität der gefundenen Algorithmen und leiten untere Schranken für den Aufwand des Sortierproblems her.

This is a preview of subscription content, access via your institution.

Buying options

eBook
USD   24.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-41952-2
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   34.99
Price excludes VAT (USA)
Abb. 3.1
Abb. 3.2
Abb. 3.3
Abb. 3.4

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Helmut Harbrecht .

Übungsaufgaben

Übungsaufgaben

Aufgabe 3.1

(asymptotische Laufzeitnotation) Sind die folgenden Aussagen wahr oder falsch? Führen Sie einen Beweis.

  1. a)

    \(n^6 = \mathcal {O}(2^n)\),

  2. b)

    \(\log (n+1) = \mathcal {O}(\log n)\),

  3. c)

    \(42 n^3 + 13 n^2 + 2 n + 500 = \mathcal {O}(n^3)\),

  4. d)

    \(42 n^3 + 13 n^2 + 2 n + 500 = {\scriptstyle \mathcal {O}}(n^2)\),

  5. e)

    \(g(n) = \mathcal {O}\big (f(n)\big )\) impliziert \(f(n) + g(n) = \Theta \big (f(n)\big )\),

  6. g)

    \(n^{15}3^{-n} = \mathcal {O}(1)\),

  7. e)

    \(f(n) = \Theta \big (g(n)\big )\) impliziert \( g(n) = \Theta \big (f(n)\big )\).

Aufgabe 3.2

(Vergleich von Laufzeiten) Sortieren Sie die folgenden Funktionen bezüglich ihrer Größenordnung, das heißt, geben Sie eine Reihenfolge \(g_1, g_2,\dots , g_{18}\) an mit \(g_{k+1} = \mathcal {O}(g_k)\). Kennzeichnen Sie, wenn mehrere \(g_\ell \) dieselbe Größenordnung besitzen, also wenn sogar \(g_{k+1}(n) = \Theta \big (g_k(n)\big )\) gilt.

$$\begin{aligned} 2^{\log n} ,\quad \big (\sqrt{2}\big )^{\log n} ,\quad n^2,\quad n^n,\quad \left( \frac{3}{2}\right) ^n ,\quad n^3,\\ (\log n)^2,\quad \log (n!) ,\quad 2^{(2^n)} ,\quad n^{\frac{1}{\log n}} ,\quad 2^{\log n } ,\quad 2^{\sqrt{2\log n}},\\ 10^4,\quad e^n ,\quad 2^n ,\quad n\log n ,\quad n!,\quad 2^{2^{n+1}}. \end{aligned}$$

Aufgabe 3.3

(Suchperformance)

  1. a)

    Gegeben sei eine unsortierte Menge \(S = \{z_1,z_2,\dots ,z_n\}\) von n verschiedenen Zahlen. Bei einer linearen Suche nach einem bestimmten Element x untersucht man sukzessive für \(k\in \{1,2,\ldots ,n\}\), ob \(x = z_k\) gilt, und bricht die Suche im Erfolgsfall ab. Zeigen Sie, dass im schlimmsten Fall \(\Theta (n)\) Vergleiche benötigt werden.

  2. b)

    Falls die Zahlen der Größe nach sortiert wären, könnte man auch eine binäre Suche durchführen. Die binäre Suche nach x in einer sortierten Menge von n Zahlen prüft, ob \(x=z_{\lfloor n/2\rfloor }\) gilt. Falls dies nicht der Fall ist, wird die binäre Suche im Fall \(x<z_{\lfloor n/2\rfloor }\) rekursiv für die Menge \(\{z_1,z_2,\dots ,z_{\lfloor n/2\rfloor -1}\}\) aufgerufen. Andernfalls wird sie rekursiv für \(\{z_{\lfloor n/2\rfloor +1},z_{\lfloor n/2\rfloor +2}, \dots ,z_n\}\) aufgerufen. Zeigen Sie, dass die binäre Suche im schlimmsten Fall \(\Theta (\log n)\) Vergleiche benötigt.

  3. c)

    Nun soll nach mehreren Zahlen \(x_1,x_2,\dots ,x_k\) in einer unsortierten Menge gesucht werden. Es kann dabei durchaus sein, dass k von n abhängt, etwa \(k=k(n)=n/2\). Bestimmen Sie dasjenige k, ab dem eine Sortierung der Menge gefolgt von k binären Suchen im schlimmsten Fall asymptotisch schneller ist als k lineare Suchen auf der unsortierten Menge.

Aufgabe 3.4

(Binärbäume) Im Beweis von Satz 3.28 wurde nachgewiesen, dass die mittlere Höhe eines Binärbaums mit jeweils genau zwei Söhnen in jedem inneren Knoten der Abschätzung

$$ \overline{H}(\tau ) \ge \log _2\big ( \beta (\tau )\big ) $$

genügt, wobei \(\beta (\tau )\) die Anzahl der Blätter des Baums \(\tau \) bezeichnet. Zeigen Sie, dass diese Abschätzung auch für beliebige Binärbäume (mit wenigstens einem Knoten) gilt.

Rights and permissions

Reprints and Permissions

Copyright information

© 2022 Der/die Autor(en), exklusiv lizenziert durch Springer-Verlag GmbH, DE , ein Teil von Springer Nature

About this chapter

Verify currency and authenticity via CrossMark

Cite this chapter

Harbrecht, H., Multerer, M. (2022). Sortieren. In: Algorithmische Mathematik. Springer Spektrum, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41952-2_3

Download citation