13
Método Método Divide and Conquer Divide and Conquer para o para o problema de Potência problema 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

Potenciação Divide and Conquer

Embed Size (px)

Citation preview

Page 1: Potenciação Divide and Conquer

Método Método Divide and Conquer Divide and Conquer para o para o problema de Potência problema de Potência

Alunos: Adilmar Coelho Dantas

Sara Luzia de Melo

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUniversidade Federal de Uberlândia – UFU

Faculdade de Computação – FACOM

Page 2: Potenciação Divide and Conquer

IntroduçãoIntroduçãoProblema

- 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

Page 3: Potenciação Divide and Conquer

Método IterativoMétodo Iterativo

Tempo de Execução:

Custo Linear!!!

Page 4: Potenciação Divide and Conquer

Método Método Divide and ConquerDivide and Conquer

Figura 1: Exemplo da divisão de problemas

Page 5: Potenciação Divide and Conquer

Método Método Divide and ConquerDivide and Conquer

5 multiplicações

Page 6: Potenciação Divide and Conquer

Método Método Divide and ConquerDivide and Conquer

Page 7: Potenciação Divide and Conquer

RecorrênciasRecorrências

Funções de Recorrências

Page 8: Potenciação Divide and Conquer

Se par

Se ímpar

Custo do algoritmo:

Tempo do algoritmo Tempo do algoritmo divide and conquerdivide and conquer

Page 9: Potenciação Divide and Conquer

Implementação e TestesImplementação e Testes

Vamos testar as duas implementações?!

Page 10: Potenciação Divide and Conquer

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

Page 11: Potenciação Divide and Conquer

Considerações FinaisConsiderações Finais

Page 12: Potenciação Divide and Conquer

Considerações FinaisConsiderações Finais

Neste dois casos podemos perceber claramente a eficiência da técnica, quando aplicada para expoentes relativamente maiores.

Page 13: Potenciação Divide and Conquer

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.