Competitif

La programmation compétitive met en lice plusieurs programmeurs qui doivent écrire un algorithme capable de résoudre un problème selon des contraintes de temps, d’espace… Le temps nécessaire a l’écriture de l’algorithme est également pris en compte.

A haut niveau il requiert de bonnes connaissances en mathématiques et en algorithmique.

D’un point de vue d’écriture algorithmique il est recommandé d’utiliser python, et lorsque le temps d’exécution de l’algorithme est un critère, il faut utiliser un langage rapide qui s’exécute au plus proche du processeur, pour cela on recommande le C++ car il permet plus facilemenet la programmation dynamique .

Le C++ possède nativement des listes triées, chainées , tables de hachage , et listes dynamiques (appelées vecteurs dans la librairie standart), indispensables à cette fin. En C il faut les écrire dsoit même ou passer par des étapes hasardeuses de recherche de librairie, de linkage, et ainsi de suite : le C n’est pas recommandé en programmation compétitive.

Utiliser le C pour résoudre des problèmes de programmation compétitive peut être un bon moyen d’améliorer son niveau C.

Répertoire

Voila une liste de sites web donnant une interface de programmation en C pour la résolution de problèmes de programmation.

Privés

Ces sites permettent d’atteindre un niveau compétitif en programmation et gravitent autour des évènements sportifs en matière de programmation

Ludiques et professionels

Ces sites proposent des problèmes soit pour s’amuser, soit préparer un entretien d’embauche.