QNA > C > Come Dovrei Imparare Gli Algoritmi E Risolvere I Problemi Su Codechef, Spoj Passo Dopo Passo?

Come dovrei imparare gli algoritmi e risolvere i problemi su CodeChef, SPOJ passo dopo passo?

Non è necessario essere grandi matematici per essere bravi nella programmazione competitiva. Aiuterebbe, ma non è necessario. I'll run you quickly to jump start your ability to learn and master algorithms AND apply them to problems especially.

#1 Make sure to know your programming language really well (recommended is C++), even if it is Java or Python, know your syntax and built-in functions well.

#2 Read and understand algorithms. Non c'è bisogno di implementare subito. Assicuratevi di capire i passi dell'algoritmo, ogni singolo passo, in modo che se c'è un piccolo cambiamento nell'algoritmo, sarete in grado di capirlo immediatamente e sapere dove cambiare l'algoritmo per farlo funzionare. Raccomanderei di scrivere i passi su un pezzo di carta ed essere il computer e fare l'algoritmo a mano.

#3 Implementare. Preparate un codice funzionante e fate il debug se necessario. Dovreste essere in grado di guardare il vostro pezzo di carta e codificare l'algoritmo abbastanza semplicemente. Se ti blocchi, potresti aver frainteso l'algoritmo (torna al passo 2) o consultare uno pseudocodice (su Wikipedia o GeeksforGeeks).

#4 Pratica, pratica, pratica. E' tempo di applicare le tue abilità di algoritmo a problemi reali (CodeForces, CodeChef, SPOJ, ecc.). SPOJ ha un bel sistema di ordinamento. Ecco un buon link da CodeChef: Data Structures and Algorithms. Questo ha un sacco di algoritmi elencati con tutorial/problemi/implementazioni.

Infine, amate ciò che fate; imparerete le cose più velocemente.

Di Latini

Qual è la migliore variante del Sudoku? :: Qual è più impegnativo, il Sudoku o le parole crociate? Perché?
Link utili