Ich möchte die Zeit Komplexität des folgenden rekursiven Algorithmus berechnen, woBerechnung der Zeitkomplexität von rekursiven Algorithmus T (n) = T (k) + T (nk)
n = j - i (size of array)
i ≤ k ≤ j
process(A, i, j) takes Θ(n) time
Algo(Array A[], int i, int j)
if (i<j)
k = process(A, i, j)
Algo(A, i, k)
Algo(A, k+1, j)
ich kam mit die folgenden:
Ich bin mir nicht sicher, ob das richtig ist und wenn es ist, wie davon zu gehen?
Update:
Ist das folgende richtig?
Der schlimmste Fall Wert für k i oder j,
T(n) = Θ(n) + T(0) + T(n)
Dies sollte eher auf https://cs.stackexchange.com/ – Adrian
veröffentlicht werden Dies sollte 'O (nlogn)' nehmen, sieht es ähnlich zu Merge sort – Oswald
@ Oswald in merge sort, k = n/2, aber hier kann es eine beliebige Zahl zwischen i und j sein. Wird das die Lösung beeinflussen? – SachiDangalla