Rekursionsgleichung beim Algorithmus |
20.05.2023, 11:58 | leon02 | Auf diesen Beitrag antworten » | ||
Rekursionsgleichung beim Algorithmus 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 |
||||
20.05.2023, 13:23 | HAL 9000 | Auf diesen Beitrag antworten » | ||
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. ![]() |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|