Hallo,
ich hab en Problem beim aufstellen von T beim Master theorem.
Wenn ich beispielsweise folgenden code habe:
die gleichung vom Mastertheorem lautet ja T = a*T(n/b) + f.
nur weiß ich jetzt gar nicht wie ich genau auf a komme. Habe viel recherchiert aber es wird mir nicht wirklich klar.
a soll laut meinem Buch die Anzahl der Aufrufe in der Rekursion darstellen.
Ich schätze diese finde ich in der ersten for schleife in meinem Beispielcode oben.
Aber handelt es sich da wirklich um 1 rekursiven aufruf nur oder muss man das anders zählen?
ich hab en Problem beim aufstellen von T beim Master theorem.
Wenn ich beispielsweise folgenden code habe:
Code:
void g(int alpha, int omega){
int n = omega - alpha;
if (n <= 1){
return;
}
for (int i = 0; i < 4; ++i){
int ralpha = alpha + n * i / 6;
int romega = alpha + n * (i + 3) / 6;
g(ralpha, romega);
}
for (int j = alpha; j < omega; ++j){
for (int k = alpha; k < omega; ++k){
h(); //O(1)
}
}
}
die gleichung vom Mastertheorem lautet ja T = a*T(n/b) + f.
nur weiß ich jetzt gar nicht wie ich genau auf a komme. Habe viel recherchiert aber es wird mir nicht wirklich klar.
a soll laut meinem Buch die Anzahl der Aufrufe in der Rekursion darstellen.
Ich schätze diese finde ich in der ersten for schleife in meinem Beispielcode oben.
Aber handelt es sich da wirklich um 1 rekursiven aufruf nur oder muss man das anders zählen?