Como projetar algoritmos

Algoritmos são a base ea estrutura de todos os programas de computador. Eles são a sequência de instruções precisas dadas a um computador para alcançar um resultado desejado . Algoritmos são programas de computador que a mente é o corpo humano . Muitos padrões de projeto de algoritmos ou paradigmas existir como algoritmos gulosos , algoritmos de dividir e conquistar, algoritmos de programação dinâmica e algoritmos de retrocesso . Cada classe de algoritmos tem suas próprias structure.Things únicas de design que você precisa

papel

Pen

Pencil Eraser

Mostrar Mais instruções

uma otimização pode significa selecionar para atualizar o valor de alguma coisa . algoritmos

Greedy são algoritmos que fornecem decisões com base nas informações disponíveis , sem qualquer previsão. Eles funcionam melhor em problemas de otimização e são fáceis de implementar. As etapas gerais para a sua concepção são:

1. Criar uma coleção (lista , conjunto, etc) de candidatos (C)

2. Encontre um subconjunto (S) da coleção de candidatos (C)

3. Especifique os critérios que S deve satisfazer.

4 . Se ele atende a esse critério ( viável ) , vá em frente para otimizar S

5 . Optimizing S significa seleccionando para minimizar ou maximizar , dependendo do problema particular . No processo , podemos selecionar a solução maior ou menor .

2 Corta-se o problema em partes menores, resolvê-los e montar as soluções.

Dividir e conquistar algoritmos seguem uma abordagem de cima para baixo em algoritmo de design. Eles sub- dividir o problema em problemas menores e, finalmente, voltar a montar as soluções para os problemas.A etapas gerais de componentes para seu projeto são:

1. Definir o problema

2. Criar uma instância do problema

3. Divida esta instância em sub- instâncias menores do mesmo problema

4 . Resolva cada um dos sub- instâncias em seu próprio

5 . Integrar e combinar as soluções dos sub- casos de modo a obter uma solução para a instância original .

3

algoritmos de programação dinâmica é uma variante do algoritmo de dividir e conquistar. Enquanto os algoritmos de dividir e conquistar , que são recursiva seguir uma abordagem top-down para a resolução de problemas de otimização , programação dinâmica segue uma técnica de baixo para cima . As etapas gerais para a sua concepção são:

1. Definir o problema

2. Criar instâncias do problema

3. Construa uma tabela de todos os sub- casos

4 . Comece com os menores sub- casos

5 . Continue com o aumento do tamanho sub- instância adicionando resultados de entradas já computados

6. Continue até o último sub- instância . A solução final obtida é a solução para o problema inicialmente definido.

Este método é iterativo , enquanto a abordagem de dividir e conquistar é recursiva. Existir

4 algoritmos de busca que tornar a busca eficiente.

o algoritmo de pesquisa de retrocesso sistematicamente para uma solução a partir de opções disponíveis , no pressuposto de que existe uma solução . As etapas gerais para a sua concepção são:

1. Comece com um vetor vazio

2. Deixe a solução ser representado por vetores ( VI. ….. VM)

3 . Traverse os vetores , estendendo-se os vetores parciais com um novo valor

4 . Backtrack se um vetor não pode representar uma solução parcial

5 . Remova o valor de fuga do vetor

6. Em seguida, avance para estender o vetor com valores alternativos

7. Continuar o processo até que seja encontrada uma solução .

Deixe um comentário