MathePrisma Logo

Sortierverfahren

Sortierverfahren

Bubblesort

Für die Aufwandsanalyse orientieren wir uns am C-Programm.

Schlüsselvergleiche:

  • Die i-Schleife wird (n-1)-mal durchlaufen.
  • Beim i-ten Durchlauf wird die j-Schleife (n - (i+1)) = (n-i-1)-mal durchlaufen.
  • Dabei erfolgt jeweils ein Schlüsselvergleich.
Also:

                        \(\begin{array}{lll} V_{min}(n) & = & V_{mid}(n) \quad = V_{max}(n)\\  & = & \sum\limits_{i=0}^{n-2}(n-i-1) \quad = \sum\limits_{l=1}^{n-1}l \quad = \frac{n(n-1)}{2} \quad = \frac{n^2}{2} + \mathcal{O}(n) \end{array}\)

Umspeicherungen:

  • Die i-Schleife wird (n-1)-mal durchlaufen.
  • Die j-Schleife wird (n-i-1)-mal aufgerufen.
  • Der if-Zweig innerhalb der j-Schleife wird dabei
       

    • im besten Fall nie
    • im schlechtesten Fall immer
    • im Mittel jedes zweite Mal
    durchlaufen. Dabei erfolgen jeweils drei Umspeicherungen.
Also:

                        \(\begin{array}{lll} U_{min}(n) & = & 0\\  U_{max}(n) & = & \frac{n(n-1)}{2} \cdot 3 \qquad = \frac{3}{2} \cdot n^2 + \mathcal{O}(n)\\  U_{mid}(n) & = & \frac{3}{4} \cdot n^2 + \mathcal{O}(n) \end{array}\)