Devo usare schemi di progettazione o un algoritmo? E qual è la differenza?

4

Mi è stato assegnato il compito di trovare le permutazioni delle lettere di una determinata parola. Ad esempio, se la parola data è come , le risposte possibili sono liek , lkie e così via. Questo può essere implementato in qualsiasi lingua, ma la regola non è quella di utilizzare alcuna funzione / API incorporata per trovare le combinazioni.

Sappiamo che i modelli di progettazione servono a risolvere qualsiasi problema con una determinata soluzione. Ad esempio, Information Expert è un modello di progettazione. C'è qualche schema di progettazione per trovare combinazioni? O disegnerà modelli non adatti a questa situazione? Dovrò imparare un buon algoritmo per trovare la soluzione? In tal caso, qual è la differenza tra un algoritmo e un modello di progettazione? Entrambi cercano di risolvere il problema in modo efficace ed efficiente, giusto?

Per favore correggimi se sbaglio!

    
posta Ant's 20.03.2011 - 12:08
fonte

1 risposta

22

Un algoritmo è un metodo efficace espresso come un elenco limitato di istruzioni ben definite per il calcolo di una funzione . Un modello di design è una soluzione generale riutilizzabile per un problema comune nella progettazione del software .

Hai una funzione che devi calcolare (le combinazioni di lettere da un elenco di lettere), il che significa che hai sicuramente bisogno di un algoritmo. Una volta che hai un algoritmo, potresti scoprire che puoi implementarlo usando una soluzione riutilizzabile, nel qual caso potresti essere in grado di utilizzare un modello di progettazione. Tuttavia, non è possibile applicare una soluzione riutilizzabile prima di sapere quale dovrebbe essere la soluzione, quindi prima risolvi il problema.

    
risposta data 20.03.2011 - 12:23
fonte

Leggi altre domande sui tag