2017-08-23 4 views
1

Wenn wir schreiben, eine Nummer als Divide and Conquer-Algorithmus in der theoretischen Informatik zu betreiben, wäre die Laufzeit T(n) = 2T(n/2) + Θ(1) meiner Meinung nach, aber nach den Folien meines Lehrers ist es T(n) = T(n/2) + Θ(1). Warum das? Ich habe die 2 hinzugefügt, weil der Algorithmus in 2 Teilprobleme aufgeteilt wird? Liege ich falsch? Slide of the profAntreiben einer Zahl als eine Lösung zum Teilen und Herrschen

+1

Warum haben Sie einen Multiplikator (2) in Ihrer Antwort? Können Sie erklären? –

+0

Ja, soweit ich es verstehe ist die Zahl (2 in meinem Fall) die Anzahl der Teilprobleme, da das Problem von a^n = a^n/2 * a^n/2 also 2 Teilprobleme ist. Während n/2 die Größe der Teilprobleme darstellt. – ToTom

+1

Ist die Antwort für den zweiten Teil nicht die gleiche? Warum müssen wir es dann zweimal anrufen? –

Antwort

1

In jedem Schritt ist das Problem in zwei kleine identische Teile unterteilt. Da diese identisch sind, ist es nicht notwendig, die Berechnung für jede von diesen durchzuführen. Daher ist kein Multiplikator erforderlich 2.

+0

Oh, danke! Ich habs. – ToTom

Verwandte Themen