Probleme – : trois régimes, résolus à la main
Exercice · niveau 3 (difficile) · informatique (MP2I/MPI), chapitre 5 — Récursivité
Énoncé
Le programme interdit le théorème-maître et demande des encadrements ad hoc. On va voir pourquoi il n'en faut pas.
- Pour constante, résoudre la récurrence pour , , .
- Pour , faire de même.
- À quels algorithmes du livre correspondent les cinq cas rencontrés ?
Corrigé
Posons . L'arbre des appels a niveaux, et le niveau compte appels portant chacun sur éléments.
1. Coût constant par appel. Le niveau coûte , et le total est la somme géométrique .
- : .
- : .
- : , car .
Mesuré, en comptant les nœuds de l'arbre :
n = 1024 : a=1 -> 11 noeuds a=2 -> 2047 noeuds a=3 -> 88573 noeuds
n = 4096 : a=1 -> 13 noeuds a=2 -> 8191 noeuds a=3 -> 797161 noeuds
verification : k+1 = 11 ; 2n-1 = 2047 ; (3^11-1)/2 = 88573
2. Coût linéaire par appel. Le niveau coûte . Tout tient dans la raison .
- , raison : la somme converge, . La racine domine.
- , raison : tous les niveaux coûtent , il y en a , donc . Tous les niveaux pèsent pareil.
- , raison : la somme est dominée par son dernier terme, . Les feuilles dominent.
Mesuré :
n = 1024 : a=1 -> 2047 a=2 -> 11264 a=3 -> 175099
verification : 2n-1 = 2047 ; n(log2 n + 1) = 1024 x 11 = 11264
Ce que ces six calculs montrent, et c'est la raison de la consigne du programme : il n'y a rien à retenir d'autre que la raison de la suite géométrique des coûts par niveau. Si elle est , la racine paie tout ; si elle vaut , on multiplie par le nombre de niveaux ; si elle est , les feuilles paient tout. Un théorème-maître ne dit rien de plus, et il masque ce qui se voit ici en trois lignes.
3. Les algorithmes.
- , : recherche dichotomique, — exercice plus haut.
- , : parcours d'un arbre binaire complet, — chapitre chap:arbres.
- , : tri par partition-fusion, — problème précédent.
- , : recherche du -ième plus petit par partition, — chapitre chap:diviser.
- , : multiplication de Karatsuba, — chapitre chap:diviser. C'est le cas qui justifie l'astuce : passer de quatre à trois multiplications de demi-tailles fait tomber l'exposant de à .
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.