Ich versuche, die Leistung eines rekursiven Programms zu analysieren, das ich geschrieben habe.Rekursive Funktionsanalyse
Der Grundcode ist
Cost(x)
{
1 + MIN(Cost(x-1), Cost(x-2), Cost(x-3))
}
ich eine Rekursion für die Anzahl der Anrufe auf Kosten() schreiben möchten. Wie würde ich das anfangen?
So etwas wie T(x) = T(x/2)
. Aber ich glaube nicht, dass das richtig ist
Edit: Ich kann dies als ein Baum mit einem Verzweigungsfaktor von 3 für jeden der 3 rekursiven Aufrufe von Cost() darstellen. Also wäre es genauer T(x) = T(x/3)
?
Können Sie bitte die Intuition dahinter erklären? – CyberShot