Permettez-moi de vous référer à ce site pour heureux brainmunching. http://projecteuler.net/index.php?section=problems
algorithme débutant: Trouver le premier élément d'une séquence qui correspond à un critère. C'est une simple traversée O (n) de, disons, une liste ou un tableau, recherche le premier cas de vérité qu'il voit et renvoie le résultat ou la position d'index.
Débutant Intermédiaire algorithme: définir un en place du tas Tri qui nécessite O (1) mémoire. Cela nécessite de jouer avec la mémoire et assez de réflexion abstraite pour vous sortir des couches de la science computationnelle.
Algorithme intermédiaire: Trouvez le 1 000 000e nombre premier dans les 5 secondes qui suivent le calcul. Il s'agit d'un problème mathématique simple que la plupart des programmeurs devraient être capables de résoudre en un jour, s'ils se considèrent comme familiers avec la science du calcul.
Algorithme intermédiaire avancé: Définir un algorithme génétique. Pas grand chose à dire ici, juste Wikipédia.
Algorithme avancé: Définir une fonction de tri de recuit quantique se terminant en temps O (n). Vous pouvez gagner votre doctorat avec celui-ci. Je mentionne quelque chose comme cela qui est presque impossible avec un système de calcul numérique Turing-complet parce que c'est dans des endroits comme celui-ci que la science du calcul marche sur de nouvelles terres. Quiconque est avancé en informatique et en étude algorithmique est concerné par un terrain étrange comme celui-ci.
Je crois que cette question est sans réponse. – AlexanderMP
@Alexander: c'est indécidable. – ybungalobill
Tout est relatif, à part le fait que cette question est subjective et argumentative. ;-) –