Devo usar padrões de design ou um algoritmo? E qual a diferença?

4

Eu tenho a tarefa de encontrar as permutações das letras de uma determinada palavra. Por exemplo, se a palavra dada é como , então as respostas possíveis são liek , lkie , e assim por diante. Isso pode ser implementado em qualquer idioma, mas a regra é não usar nenhuma função / API interna para encontrar as combinações.

Sabemos que os padrões de design são para solucionar qualquer problema com uma determinada solução. Por exemplo, o Information Expert é um padrão de design. Existe algum padrão de design para encontrar combinações? Ou os padrões de design não se adequam a essa situação? Terei que aprender um bom algoritmo para encontrar a solução? Nesse caso, qual é a diferença entre um algoritmo e um padrão de design? Ambos tentam resolver o problema de uma maneira boa e eficiente, certo?

Por favor, corrija-me se estiver errado!

    
por Ant's 20.03.2011 / 12:08
fonte

1 resposta

22

Um algoritmo é um método eficaz expresso como uma lista finita de instruções bem definidas para o cálculo de uma função . Um padrão de design é uma solução geral reutilizável para um problema comumente ocorrido no design de software .

Você tem uma função que precisa calcular (as combinações de letras de uma lista de letras), o que significa que você definitivamente precisa de um algoritmo. Depois de ter um algoritmo, você pode descobrir que pode implementá-lo usando uma solução reutilizável e, nesse caso, poderá usar um padrão de design. No entanto, você não pode aplicar uma solução reutilizável antes de saber como deve ser a solução. Portanto, resolva o problema primeiro.

    
por 20.03.2011 / 12:23
fonte