Rekursionsgleichung beim Algorithmus

Neue Frage »

leon02 Auf diesen Beitrag antworten »
Rekursionsgleichung beim Algorithmus
Meine Frage:
Aufgabe: Es soll ein Turniermodus betrachtet werden. Dazu werden in der ersten Runde, immer zwei benachbarte Zahlen miteinander verglichen. Die kleinere ?gewinnt? und kommt in die nächste Runde. In dieser Art und Weise werden die Zahlen weiter verglichen, bis nach der letzten Runde nur noch eine Zahl übrig ist.

Stellen Sie eine Rekursionsgleichung auf und analysieren Sie die Laufzeit des Algorithmus

Meine Ideen:
Problem/Ansatz:

T(0) = 0, T(1) = 0, T(2) = 1

Meine Idee: T(n) = T(n/2) + n/2
?> mehrmals Einsetzen um Muster zu erkennen
= T(n/4) + n
= T(n/8) + 1,5n
= T(n/16) + 2n

= T(n/2k) + k*n/2. wann ist n/2k <= 1
T(n) = T(n/2log(n)) + (log(n)*n/2)
T(n) = T(1) + (log(n)*n/2)
T(n) = 0 + (log(n)*n/2)

Aber irgendwie klappt das nicht, kann mir da jemand helfen
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von leon02
Meine Idee: T(n) = T(n/2) + n/2
?> mehrmals Einsetzen um Muster zu erkennen

Bis hierhin Ok. Dann setzt du aber leider falsch ein, denn es ist ja dann



usw. gelten.

Daher lautet die korrekte Rechnung



Stimmt genau genommen exakt bis zum Ende nur für Zweierpotenzen .


Übrigens: Dein entspricht ja der Spielanzahl, um in einem reinem KO-Turnier mit Teilnehmern einen Sieger zu ermitteln. Auch für Nicht-Zweierpotenzen ergibt sich hier immer , denn in jedem Spiel wird genau ein Teilnehmer eliminiert, es braucht damit genau Spiele, um von n schrittweise bis zu einem Teilnehmer (dem Sieger) zu reduzieren. Augenzwinkern
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »