Técnicas de projeto de algoritmos
(Redirecionado de Técnicas de Projeto de Algoritmos)
Este artigo não cita fontes confiáveis. (Setembro de 2021) |
Dá-se o nome de "Técnicas de Projeto de Algoritmos" a um conjunto de técnicas de projeto de algoritmos. Compreendem os métodos de codificação de algoritmos de forma salientar sua complexidade, levando em conta a forma pela qual determinado algoritmo chega a solução desejada.
Exemplos das principais Técnicas de Projeto de Algoritmos:
•Força Bruta (Brute Force)
Consiste em listar todas as soluções possíveis para um determinado problema de maneira sistemática, geralmente é o método mais fácil de implementar.Ex: Busca Sequencial (ou Busca linear)
•Dividir e Conquistar (Divide and Conquer)
Um exemplo bom para o método 'Divide and Conquer' é o algoritmo de ordenação de vetores Merge sort, que basicamente divide o vetor em duas partes, ou mais (Merge 3-Sort), e chama recursivamente a ordenação para cada parte, que será dividida novamente até que se crie vários vetores de tamanho um que já estão ordenados, e a recursão é finalizada com o algoritmo de intercalação das partes ordenadas.Resumindo, o Merge Sort divide o vetor repetidamente para chegar ao objetivo.
•Estratégia Gulosa (Greedy)
A estratégia gulosa é a escolha da melhor opção a cada iteração, chega a uma solução, mas nem sempre é otimizada. Ex: Algoritmo de Dijkstra
•Voltando Atrás (Backtracking)
Ver Backtracking.
•Ramificar e Limitar (Branch and Bound)
Ver Branch and bound.
Outras técnicas são:
•Diminuir e Conquistar (Decrease and Conquer) •Transformar e Conquistar (Transform and Conquer) •Compromisso Tempo–Espaço (Space and Time Tradeoffs) •Programação Dinâmica (Dynamic Programming) •Algoritmos Aproximados