Actuellement, j'étudie moi-même l'introduction aux algorithmes (CLRS) et il y a une méthode particulière qu'ils décrivent dans le livre pour résoudre les relations de récurrence.
La méthode suivante peut être illustrée par cet exemple. Supposons que nous ayons la récurrence
Initialement, ils effectuent la substitution m = lg (n), puis la rebranchent dans la récurrence et obtiennent:
Jusqu'à ce point, je comprends parfaitement. Cette prochaine étape est celle qui me déroute.
Ils "renomment" maintenant la récurrence et laissent , ce qui produit apparemmentS ( m ) = T ( 2 m )
Pour une raison quelconque, je ne comprends pas pourquoi ce changement de nom fonctionne, et cela semble être de la triche. Quelqu'un peut-il mieux expliquer cela?
k
je suis en dessous de l'équation S (k) = 2S (k / 2) + m Comment puis-je obtenir un substitutm
pourk
Ce que signifie que et sont deux fonctions différentes qui produisent le même résultat tout en prenant respectivement les entrées et .S T m 2 mS(m)=T(2m) S T m 2m
La fonction peut être considérée comme un opérateur avec deux étapes internes (sinon, composition des fonctions):S
m 2 mS′ Opérateur : entrée: , sortie:m 2m
Les transitions sont donc:
m
la source