L'entraînement est la clé pour maitriser une discipline ("C'est
en forgeant qu'on devient forgeron"), et en algorithmique cela ne
peut être que vrai. Apprendre par la pratique est essentiel dans ce
domaine, et de nombreux sites existent contenant des exercices, ainsi
que plusieurs concours en ligne accessibles à tous.
En voici une liste non exhaustive :
- France IOI : une
référence francophone incontournable, je ne peux que recommander ce site
car j'ai moi-même passé un an à m'entraîner pour les IOI grâce à cette
association.
- USACO : quatre concours sont
répartis dans l'année avec plusieurs niveaux de difficultés (bronze,
argent, or, platine). C'est l'équivalent américain de l'association
France IOI.
- Prologin : chaque année un
concours national est organisé permettant aux 100 meilleurs de
s'affronter dans un tournoi de trois jours pour coder la meilleure IA.
Lors de ma première finale, ce fut trois jours exceptionnels et je vous
invite fortement à y participer.
- Codeforces : des concours de 2h
quasiment toutes les semaines, et une banque d'exercice énorme pour
s'entraîner dans toutes les catégories d'algorithmes.
- Codingame : une
plateforme interactive où les problèmes sont sous forme de mini jeu, et
quelques concours sont organisés de temps en temps.
- HackerRank
: beaucoup d'exercices répartis en différentes catégories sont
disponibles pour s'entrainer en algorithmie.
- Project Euler : des
problèmes plutôt orientés mathématiques, mais qui nécessitent des
algorithmes bien utiles pour être résolus.
- Sphere online
judge : énorme réserve à exercice en tous genres, dans toutes les
catégories.
- Topcoder : des challenges
dans différents domaines (rémunérés pour certains), mais le site
contient surtout pas mal de tutoriels et de références intéressantes,
ainsi que beaucoup d'exercices disponibles.
- Google Code Jam : un
concours international est mis en place par Google chaque année à
travers différentes épreuves de sélection.