OK, primero escribamos el pseudocódigo:
procedimiento POWER (a, n)
si (n = 1)
devolver un
si (n% 2 = 0)
retorno (POTENCIA (a, n / 2)) ^ 2
más
hacha de retorno (POTENCIA (a, (n – 1) / 2)) ^ 2
Como vería usando divide-and-conquer, en cada paso, divide el problema en dos subproblemas idénticos de tamaño [math] \ lfloor n / 2 \ rfloor [/ math]. Los otros pasos tardan un tiempo constante en completarse. Esto es cierto para todos [matemáticas] n> 1 [/ matemáticas]. Para [matemática] n = 1 [/ matemática], el algoritmo toma tiempo constante. Por lo tanto, la relación de recurrencia correcta aquí debería ser
[matemática] M (n) = M (\ lfloor n / 2 \ rfloor) + O (1) [/ math]
- Si a y b son números enteros coprimos positivos, ¿puede mostrar que el único MCD posible de [matemáticas] a + b [/ matemáticas] y [matemáticas] a ^ 2 + b ^ 2 [/ matemáticas] son 1 y 2?
- ¿Puede probar que [matemáticas] k [/ matemáticas] divide [matemáticas] \ binom {kn} {n} [/ matemáticas] con [matemáticas] n, k> 0 [/ matemáticas]?
- ¿Cuál es la relación entre la hipótesis de Riemann y los números primos?
- Cómo demostrar que [math] b_ {n} = b_ {n-1} + b_ {n-2} \ forall n \ geq3 [/ math] donde [math] b_ {n} [/ math] es la secuencia de Números de Lucas usando inducción
- ¿Cuáles son las probabilidades de rodar ojos de serpiente con N dados? (N> 2)
[matemáticas] M (1) = O (1) [/ matemáticas]
Del mismo modo para el otro problema.
Actualización: Parece que OP también quiere resolver la recurrencia. La forma más intuitiva de hacer esto es ver esto como un árbol de recurrencia (o, en el presente caso, una cadena de recurrencia). Por ejemplo, para [matemáticas] n = 8 [/ matemáticas], su árbol de recurrencia se ve a continuación:
Por lo tanto, para [math] 2 ^ {k – 1} \ leq n <2 ^ k [/ math], habrá exactamente [math] k [/ math] nodos en el árbol de recurrencia, cada uno de los cuales toma un (casi ) tiempo constante para resolver. Por lo tanto, [math] k = \ lfloor \ log_2 {n} \ rfloor [/ math]. Por lo tanto, el límite en su algoritmo es [matemática] O \ left (\ log_2 {n} \ right) [/ math].
También es posible que desee ver el teorema del Maestro, que es bastante útil para resolver las recurrencias.