ForcaBruta
Técnicas de Projeto de Algoritmos
Força Bruta
IF64C – Estruturas de Dados 2 – Engenharia da Computação – Prof. João Alberto Fabro - Slide 1/36
Força Bruta
●
Técnica de Projeto de Algoritmos por Força Bruta
●
Introdução
●
Busca: Seqüencial e “String Matching”
●
Ordenação: Métodos da Seleção da Bolha
●
Busca Exaustiva
●
Resumo
IF64C – Estruturas de Dados 2 – Engenharia da Computação – Prof. João Alberto Fabro - Slide 2/36
Força Bruta
●
Introdução
●
É a mais simples estratégia de projeto de algoritmos
●
Solução direta e mais simples para resolver um problema, usualmente baseada no próprio enunciado do problema e nas definições dos conceitos envolvidos. IF64C – Estruturas de Dados 2 – Engenharia da Computação – Prof. João Alberto Fabro - Slide 3/36
Força Bruta
●
Introdução
●
Aplicar a “força” dos computadores, ao invés do intelecto do programador....
●
“Just do It”!!!!
●
Usualmente, é a técnica de programação mais fácil de se aplicar.
IF64C – Estruturas de Dados 2 – Engenharia da Computação – Prof. João Alberto Fabro - Slide 4/36
Força Bruta
●
Introdução (Justificativa)
●
Apesar desta técnica raramente gerar algoritmos eficientes, é uma importante técnica para projeto de algoritmos; ●
É aplicável a uma ampla variedade de problemas;
IF64C – Estruturas de Dados 2 – Engenharia da Computação – Prof. João Alberto Fabro - Slide 5/36
Força Bruta
●
Introdução (Justificativa)
●
Pode ser empregada em diversas situações comuns porém importantes:
●
Encontrar o maior elemento de uma lista;
●
Somar N números;
IF64C – Estruturas de Dados 2 – Engenharia da Computação – Prof. João Alberto Fabro - Slide 6/36
Força Bruta
●
Introdução (Justificativa)
●
Alternativa válida quando se deseja resolver um problema “pequeno” através de um algoritmo
“simples e direto”.
●
Para alguns problemas, a “força bruta” gera algoritmos razoáveis, práticos e sem limitações no tamanho da instância(Ex.: String matching, multiplicação de