algorithmique (école d'ingénieur) · Chapitre 13 · Application directe du cours
Résoudre des récurrences
Diviser pour régner · niveau 2
Énoncé
Donner la complexité de chacun des temps de calcul suivants (, puissance de quand on divise par ) :
- ;
- (produit de matrices par blocs) ;
- (algorithme de Strassen) ;
- .
Corrigé
On compare, comme dans le théorème maître, le nombre d'appels au facteur du coût non récursif .
- : le travail du premier niveau domine. Les niveaux coûtent , , … : la somme est inférieure à , et .
- : les feuilles dominent. Il y a feuilles : . Couper les matrices en blocs ne fait rien gagner sur le produit usuel.
- : . Économiser un produit sur huit (Strassen, 1969) fait baisser l'exposant, comme Karatsuba pour les entiers.
- Ce n'est pas un partage en moitiés : en déroulant, , soit . C'est le temps du tri par insertion ou du tri rapide dans le pire cas : diviser en « une valeur » et « le reste » ne sert à rien.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.