(algo2)= # Algorithmique II Pour résoudre un problème, il faut commencer par le décomposer en sous-problèmes. Pour chaque sous-problème à résoudre, on décrit les opérations à réaliser sous la forme d’un {glo}`algo|algorithme`. Il existe une multitude d’{glo}`algo|algorithmes` pour résoudre un problème, mais ils ne se valent pas tous. L’**algorithmique** étudie les propriétés de ces {glo}`algo|algorithmes`. Cette analyse est nécessaire pour nous aider à décider quel {glo}`algo|algorithme` utiliser. On se propose à présent de passer en revue quelques propriétés importantes des {glo}`algo|algorithmes`. ```{toctree} :maxdepth: 2 :hidden: :numbered: 2 intro principes recherche tris heuristiques recursivite conclusion ``` ## Objectifs A la fin de ce chapitre, vous saurez ce qui fait qu'un algorithme est un bon algorithme et quels critères prendre en considération pour choisir le meilleur algorithme. Vous verrez également qu'il existe des problèmes relativement simples que l'on n'arrive toujours pas à résoudre. * Pouvoir déterminer quelle est la meilleure solution pour un problème donné, en fonction de critères objectifs. * Comprendre pourquoi certains problème simples n'ont pas de solution exacte. * [Optionnel] Créer des fonctions récursives, qui s'appellent elles-mêmes.