En notación big-O la clase de complejidad $O(2^n)$ se denomina "exponencial". La clase de complejidad $O(n!)$ se llama "factorial".
Creo que $f(n) = O(2^n)$ y $g(n) = O(n!)$ significa que $f(n)/g(n)$ va a cero en el límite como $n$ va al infinito.
¿Se conoce alguna función entre las clases de complejidad factorial y exponencial?
En otras palabras, ¿hay alguna función conocida $j(n)$ que domina todas las funciones de $O(2^n)$ tal que..: $$ (j(n) \neq O(2^n)) \wedge (j(n) = O(n!)) \wedge (n! \neq O(j(n))) $$ o, informalmente, $j(n)$ crece asintóticamente de forma estrictamente más rápida que $2^n$ pero no tan rápido como $n!$ ?
¿O acaso se ha demostrado que no puede existir tal función?
Nota: esto puede parecer una pregunta de Ciencias de la Computación, pero en realidad estoy tratando de demostrar que cualquier serie de potencias periódica y convergente debe tener coeficientes cuyos inversos crecen asintóticamente tan rápido como $n!$ pero no más rápido. Creo que puedo demostrar que la mayoría crecen más rápido que $O(2^n)$ pero eso no demuestra que estén en $\Theta(n!)$ a menos que no haya una clase de complejidad entre $O(2^n)$ y $O(n!)$ .
55 votos
Como $\sqrt{n!}$ ?
11 votos
¿Qué tal si $O(n2^n)$ ?
6 votos
Bueno, $j(n)=a^n$ para $a>2$ funciona, pero tal vez usted está realmente interesado en una función entre $a^n$ y $n!$ por cada $a \in \mathbb R$ .
1 votos
Si ese es el caso, la propuesta de @AntonioVargas @ hace el trabajo.
37 votos
Un resultado estándar dice que $n!$ es asintóticamente equivalente a $$\sqrt{2\pi n}\left(\frac{n}{e}\right)^n$$ Teniendo esto en cuenta, es bastante fácil encontrar ejemplos.
14 votos
$2.00001^n$ está en $O(n!)$ pero no en $O(2^n)$ .
1 votos
$O({(2+\epsilon)}^n)$ no es la misma clase de complejidad que $O(2^n)$ -- $O$ sólo ignora las diferencias lineales. Hay otras medidas de complejidad que tratan $O(x^n)$ por el hecho de ser fijo $x$ como el "mismo", pero grande- $O$ no es uno de ellos. $lim_{n->\infty} {\frac{2}{2+\epsilon}}^n = 0$ .
0 votos
Bueno, creo que se buscarán funciones que crezcan más rápido que cualquier $a^n$ para la constante $a>1$ . Básicamente, tienes que $n! \sim \sqrt{n} n^n / e^n$ que puede darte un buen punto de partida.
0 votos
Obviamente hay infinitos. Lo que no es obvio (aunque no es demasiado difícil) es la expresión analítica de uno.
3 votos
Tenga en cuenta que " $O(f)$ "no es una clase de complejidad. Es un orden de crecimiento de las funciones. Una clase de complejidad es un conjunto de lenguajes decidibles bajo algún límite de recursos.
0 votos
Creo que $ (j(n) \neq O(2^n)) \wedge (j(n) = O(n!)) \wedge (n! \neq O(j(n))) $ era en realidad una expresión equivocada. La frase con esa expresión en realidad hace una pregunta diferente a la que se hizo con palabras en una parte anterior de esta pregunta.