Ich habe einen rekursiven Algorithmus mit einer zeitlichen Komplexität, die der Auswahl von k Elementen aus n mit Wiederholung entspricht, und ich habe mich gefragt, ob ich einen vereinfachten Big-O-Ausdruck erhalten könnte. In meinem Fall kann größer als und sie wachsen unabhängig voneinander.
Insbesondere würde ich einen expliziten Exponentialausdruck erwarten. Das Beste, was ich bisher finden konnte, ist das basierend auf Stirlings Näherung , also kann ich das verwenden, aber ich habe mich gefragt, ob ich etwas Schöneres bekommen könnte.
asymptotics
combinatorics
runtime-analysis
yoniLavi
quelle
quelle
Antworten:
Bearbeiten: Diese Antwort ist für . Ohne k in Bezug auf n zu begrenzen, ist der Ausdruck unbegrenzt.k<n k n
Wenn ist, wird Ihr Ausdruck zu O ( ( 2 ( n - 1 )).k=n−1 . Beachten Sie, dass nach Stirlings Formel für jede0<α<1(mO((2(n−1)n−1)) 0<α<1
wobeiH(q)=-qlogq-(1-q)log(1-q)ist die binäre Entropie. InsbesondereH(1/2)=1. Deshalb haben wir fürk=n-1
Da die Obergrenze der schlechteste Fall ist (ich lasse es als Übung, um dies zu zeigen), ist Ihr Ausdruck O ( 4 nk=n−1 .O(4nn√)
quelle
Wolfram says Sondow (2005)[1] and Sondow and Zudilin (2006)[2] noted the inequality:
We can then use
Then we have
Now, the binomial expression has the highest value at the middle of the Pascal's triangle. So, in our case,n+k=2k or at k=n .
Substituting that in the above inequality, we get:
Therefore, a tighter bound is
You can also see that the lower bound for the maximum value is
References:
[1] Sondow, J. "Problem 11132." Amer. Math. Monthly 112, 180, 2005.
[2] Sondow, J. and Zudilin, W. "Euler’s constant, q-logarithms, and formulas of Ramanujan and Gosper" Ramanujan J. 12, 225-244, 2006.
quelle