5 votos

Combinar análisis de complejidad de tiempo de tipo

¿Cómo puedo probar que $T(n) = 2T(n/2) + n$ es $O(n \log n)$?

4voto

Anthony Shaw Puntos 858

Que $L(k)=T(2^k)$ y $n = 2^k$. $L(k)=T(n)$, $L(k-1)=T(n/2)$ Y $L(k)=2L(k-1)+2^k$. Por lo tanto, $$ \begin{align} L(1) &= 2\;L(0) + 2^1 \\ L(2) &= 2\;L(1) + 2^2 \\ &= (2^2\;L(0) + 2^2) +2^2 \\ L(3) &= 2\;L(2) + 2^3 \\ &= (2^3\;L(0)+2^3+2^3)+2^3 \\ L(4) &= 2\;L(3) + 2^4 \\ &= (2^4\;L(0)+2^4+2^4+2^4)+2^4 \\ &\dots \\ L(k) &= 2^k\;L(0) + k\;2^k \\ &\text{or}\\ T(n) &= n\;T(1) + \log_2(n)\;n \\ &\text{when }n\text{ is a power of }2 \end {Alinee el} $$ % Por lo tanto, $T(n)=O(n\log(n))$.

4voto

Jeji Puntos 11

T(1) = 1

T(n) = 2T (n/2) + cn

T(n) = 2T (n/2) + cn

T(n/2) = 2T(n/4) + c (n/2)

T(n) = 2 [2T (n/4) + c (n/2)] + cn

T(n) = 4T (n/4) + 2cn

Manera similar, T(n) = 8T (n/8) + 3cn

General T(n) = 2 ^ k T (n/2 ^ K) + CNK

(n/2 ^ k) = 1

n = 2 ^ k

k = log n de base2

enchufe en k en la fórmula general

T(n) = T(1) n + cn logBase2n

T(n) = Thetha(n log n) grande

4voto

Gudmundur Orn Puntos 853

SUGERENCIA:

Utilizar la inducción para mostrar que hay constantes $c$y $n_0$ s.t. $T(n) \leq c \cdot n \log n \quad\forall n \geq n_0$. Utilizar $T(2)$ como el caso base. Recordar registro fresco propiedades para reducir el logaritmo y utilizar la hipótesis de inducción.

Publicar su progreso si te quedas atascado.

3voto

Alex Andronov Puntos 178

Hay dos ideas para ello. La primera de ellas es telescópica donde recurrentemente se utiliza la definición de $T(n)$ o supuesto podría utilizar la inducción (esto casi siempre funciona). Para un bosquejo de la página prueba 3 aquí. Tenga en cuenta que aquí se supone que $n$ es una potencia de 2 que la prueba sea más sencillo, si no va sin embargo de la misma manera.

1voto

jdotjdot Puntos 129

Utilizar el Teorema maestro.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X