Técnicas de projeto de algoritmos

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

Este artigo é um esboço. Você pode ajudar a Wikipédia expandindo-o. Editor: considere marcar com um esboço mais específico.