MétodoMétodo Divide and ConquerDivide and Conquer para opara o
problema de Potênciaproblema de Potência
Alunos: Adilmar Coelho Dantas
Sara Luzia de Melo
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Universidade Federal de Uberlândia – UFU
Faculdade de Computação – FACOM
IntroduçãoIntrodução
Problema
- Dado um número inteiro n e um inteiro x não negativo,
desenvolver um algoritmo que retorne o valor da potência.
Solução Proposta
 Método Iterativo
 Método Recursivo
 Método Divide and Conquer
 Função pow
Método IterativoMétodo Iterativo
 Tempo de Execução:
 Custo Linear!!!
MétodoMétodo Divide and ConquerDivide and Conquer
Figura 1: Exemplo da divisão de problemas
MétodoMétodo Divide and ConquerDivide and Conquer
5 multiplicações
MétodoMétodo Divide and ConquerDivide and Conquer
RecorrênciasRecorrências
Funções de Recorrências
Se par
Se ímpar
Custo do algoritmo:
Tempo do algoritmoTempo do algoritmo divide and conquerdivide and conquer
Implementação e TestesImplementação e Testes
Vamos testar as duas implementações?!
Foi observado que o tempo do algoritmo divide
and conquer foi superior ao tempo do algoritmo
iterativo para com n relativamente pequeno.
- Isto ocorre ao fato de nem todos os subproblemas
gerados serem utilizados na operação.
Quando o valor de entrada “cresce”, o tempo de
execução do algoritmo divide and conquer diminui
comparado ao linear.
 Concluimos que, o método divide and conquer para
esse problema de potência é eficiente quando os
valores de entrada são “grandes”.
Considerações FinaisConsiderações Finais
Considerações FinaisConsiderações Finais
Considerações FinaisConsiderações Finais
Neste dois casos podemos perceber claramente a eficiência da
técnica, quando aplicada para expoentes relativamente maiores.
ReferênciasReferências
• Cormen, T. H., Leiserson, C. E., Rivest, R. L.,
and Stein, C. (2002). Algoritmos, Teoria e
Prática (2. ed.). MIT Press.

Potenciação Divide and Conquer