Tengo un algoritmo recursivo con una complejidad temporal equivalente a elegir k elementos de n con repetición, y me preguntaba si podría obtener una expresión big-O más simplificada. En mi caso, puede ser mayor que crecen independientemente.
Específicamente, esperaría alguna expresión exponencial explícita. Lo mejor que pude encontrar hasta ahora es que, según la aproximación de Stirling , puedo usar eso, pero me preguntaba si podría obtener algo mejor.
asymptotics
combinatorics
runtime-analysis
yoniLavi
fuente
fuente
Respuestas:
Editar: Esta respuesta es parak<n . Sin limitar k en términos de n la expresión no tiene límites.
Si entonces su expresión se convierte en . Observe que según la fórmula de Stirling para cualquier donde es la entropía binaria. En particular . Por lo tanto, tenemos parak=n−1 O((2(n−1)n−1)) 0<α<1
Dado que el límite superior es el peor de los casos (lo dejo como un ejercicio para mostrar esto), su expresión es .k=n−1 O(4nn√)
fuente
Wolfram dice que Sondow (2005) [1] y Sondow y Zudilin (2006) [2] notaron la desigualdad: para un número entero positivo y un número real.
Entonces podemos usar con y .
Luego tenemos
Ahora, la expresión binomial tiene el valor más alto en el medio del triángulo de Pascal. Entonces, en nuestro caso, o en .n+k=2k k=n
Sustituyendo eso en la desigualdad anterior, obtenemos: .
Por lo tanto, un límite más estricto es .
También puede ver que el límite inferior para el valor máximo es
Referencias:
[1] Sondow, J. "Problema 11132." Amer Matemáticas. Mensual 112, 180, 2005.
[2] Sondow, J. y Zudilin, W. "Euler constante, q-logaritmos y fórmulas de Ramanujan y Gosper" Ramanujan J. 12, 225-244, 2006.
fuente