Niveau: Supérieur
Algorithmique et Programmation TD n? 1 : Introduction Ecole normale superieure Departement d'informatique 2011-2012 1 Mode d'emploi Les exercices 1, 8 et 12 illustrent la technique du“diviser pour regner”avec un niveau de sophistication croissant. Les exercices 4, 3, 9 et 10 sont consacres a la methode gloutonne, et enfin les exercices 2, 5, 6 et 7 sont consacres a la methode de la “programmation dynamique”. L'exercice 11 est inclassable, et ne necessite aucun prerequis. L'exercice 13 est consacre a la preuve de terminaison d'un algorithme (en apparence) simple. Nous ne ferons pas de programmation ensemble, mais l'exercice 8 fournit des fonctions interessantes dont la programmation n'est pas entierement triviale. 2 Petits Rappels diviser pour regner Cette strategie resout un probleme en le decoupant en sous-problemes du meme type, en resolvant recursivement les sous-problemes, et en combinant les sous-resultats de fac¸on appropriee. Cela aboutit typiquement a un fonctionnement “en arbre”. programmation dynamique C'est une generalisation du “diviser pour regner”. Cette methode a pris son nom dans les annees 1950, quand le mot “programmation” signifiait tout autre chose qu'au- jourd'hui. On identifie egalement une collection de sous-problemes, et on les resoud un par un, en commenc¸ant par les plus petits, en utilisant les solutions des petits sous-problemes pour resoudre les problemes plus gros, jusqu'a ce qu'ils soient tous resolus.
- represen- tation arborescente du cographe pour la nouvelle definition
- solution de l'exercice
- qualite des solutions
- queue-leu-leu
- borne sur le temps d'execution de l'hydre
- cographe en temps polynomial
- solution morceau par morceau