Eu tenho um algoritmo recursivo com complexidade de tempo equivalente a escolher elementos k de n com repetição, e estava pensando se poderia obter uma expressão big-O mais simplificada. No meu caso, pode ser maior que e eles crescem independentemente.
Especificamente, eu esperaria alguma expressão exponencial explícita. O melhor que pude encontrar até agora é o baseado na aproximação de Stirling , para que eu possa usá-lo, mas me perguntei se conseguiria algo melhor.
asymptotics
combinatorics
runtime-analysis
yoniLavi
fonte
fonte
Respostas:
Editar: Esta resposta é para . Sem delimitar k em termos de n, a expressão é ilimitada.k<n k n
Se , sua expressão se torna O ( ( 2 ( n - 1 )k=n−1 . Observe que pela fórmula de Stirling para qualquer0<α<1(mO((2(n−1)n−1)) 0<α<1
ondeH(q)=-qlogq-(1-q)log(1-q)é o binário de entropia. Em particular,H(1/2)=1. Portanto, temos parak=n-1
Como o limite superior é o pior caso (deixo como exercício para mostrar isso), sua expressão é O ( 4 nk=n−1 .O(4nn√)
fonte
Wolfram diz que Sondow (2005) [1] e Sondow e Zudilin (2006) [2] observaram a desigualdade:
Referências:
[1] Sondow, J. "Problema 11132". Amer. Matemática. Mensal 112, 180, 2005.
[2] Sondow, J. e Zudilin, W. "Constante de Euler, q-logaritmos e fórmulas de Ramanujan e Gosper" Ramanujan J. 12, 225-244, 2006.
fonte