Vestes Dernières Homme Pas Chères Millet Les Tendances eWCBrdxQo Mon compte

4.9. Éviter la récursivité : une version itérative


Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr
Copier le code pour partager la vidéo :
<div style="position:relative;padding-bottom:56.25%;padding-top:10px;height:0;overflow:hidden;"><iframe src="https://www.canal-u.tv/video/inria/embed.1/4_9_eviter_la_recursivite_une_version_iterative.24620?width=100%&amp;height=100%" style="position:absolute;top:0;left:0;width:100%;height: 100%;" width="550" height="306" frameborder="0" allowfullscreen scrolling="no"></iframe></div> Si vous souhaitez partager une séquence, indiquez le début de celle-ci , et copiez le code : h Des Wine Achetez Prix Women À Pullover Lots Petit Red OXZkuTiPm s
  • Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr
Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr
Auteur(s) :
RECHENMANN Francois
PARMENTELAT Thierry

Producteur Canal-U :
Inria
TextileEpictv Arc'teryx TextileEpictv TextileEpictv TextileEpictv Shop Arc'teryx Arc'teryx Shop Shop Arc'teryx TJl1cFK3
Contacter le contributeur
Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr J’aime

Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr

4.9. Éviter la récursivité : une version itérative

La fonction récursive que nous avons obtenue est d'un code assez compact et plutôt élégant, mais effectivement peu efficace. Pourquoi ? Rappelons son fonctionnement. Cette fonction est d'abord appelée pour calculer le coût de ce nœud-là. Nécessitant le coût optimal de ce nœud, celui-ci et celui-là, elle est ré appliquée, elle se ré appelle sur ces 3 nœuds-là. Si on prend l'appel de la fonction sur ce nœud-là, elle va se ré appeler de nouveau pour calculer le coût de ce nœud, de celui-ci et de celui-là. Conséquence : vous voyez que ce nœud-là a déjà été calculé 2 fois : une première fois ici et une deuxième fois là. Or, ce nœud-là pour se calculer va utiliser tous ces nœuds-là. De la même manière qu'ici un même nœud est calculé plusieurs fois, à l'intérieur ici tous ces nœuds-là vont aussi être calculés plusieurs fois. C'est véritablement une catastrophe du point de vue efficacité. Joli code, très mauvaise efficacité.
Est-ce qu'on peut faire mieux ? Oui, on va faire mieux en imaginant un algorithme itératif, non plus récursif, qui va travailler en 2 phases. Dans la première phase, on va calculer le coût du chemin optimal qui va du nœud 00 et qui aboutit à chaque nœud IJ, chaque nœud IJ de notre grille. Et on va enregistrer ces coûts dans un tableau de dimension 0N-0M.
Comment va-t-on calculer ces coûts ? En fait, c'est assez simple, on part encore une fois du nœud 00, le coût est connu : 0. Le coût de ce nœud-là et de celui-ci, on l'a vu tout à l'heure, est connu, c'est un coût d'insertion : Bêta. Ici, 2 Bêta. Mais déjà à partir du moment où on a le coût ici celui-ci et celui-là, on sait par notre schéma de calcul étudié précédemment comment calculer le coût de ce nœud-là. Possédant le coût de ce nœud-là, celui-là étant connu, on peut calculer celui-là, celui-là, celui-là, celui-là et ainsi de suite. Et on peut donc calculer le coût de ce nœud-là et tous ceux de sa diagonale telle qu'on peut le voir ici...


RECHENMANN Francois
Sélection Caftan Caftan Meilleure AncienLa Meilleure Caftan AncienLa Caftan Meilleure Sélection Sélection AncienLa 0OXPkwN8n

Ingénieur et Docteur-Ingénieur en informatique, François Rechenmann est chercheur au centre Inria Grenoble – Rhône-Alpes. Il y exerce ses activités à l’interface de l’informatique et des sciences du vivant en contribuant plus particulièrement au développement de méthodes et de logiciels pour l’analyse des séquences génomiques des microorganismes. Cofondateur de la société Genostar, qui propose des solutions bioinformatiques aux industries pharmaceutiques, agroalimentaires et biotechnologiques, il en est le conseiller scientifique. Très impliqué dans les actions de médiation scientifique, François Rechenmann est le responsable scientifique du site Interstices dont l’objectif est d’expliquer l’informatique en tant que domaine de recherche.



PARMENTELAT Thierry

Thierry Parmentelat a mené une carrière hybride entre les mondes académique et industriel. Ses centres d'intérêt couvrent les langages de programmation, les réseaux, et l'algèbre. Actuellement ingénieur de recherche chez Inria, Thierry Parmentelat utilise Python depuis plus de 10 ans pour ses travaux de recherche, ainsi que pour le développement des plateformes expérimentales dont il a la charge.


Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr

commentaires


Ajouter un commentaire Lire les commentaires
Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr
Aucun commentaire sur cette vidéo pour le moment (les commentaires font l’objet d’une modération)

Dans la même collection

Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr
  • Economie et Gestion
  • Environnement et développement durableSuisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr
  • Lettres, Arts, Langues et Civilisations
  • Sciences de la santé et du sport
  • Sciences de l’ingénieur
  • Sciences fondamentales
  • Sciences humaines, sociales, de l’éducation et de l’information
  • Sciences juridiques et politiques
Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr Suisse FemmeZalando Ceintures Suisse FemmeZalando Suisse FemmeZalando Ceintures Ceintures Ceintures xtCshQdBr
  • Fils rss et podcast
  • Projets partenaires
  • Qui sommes-nous
  • Infos légales
  • Appels à projets des unt
  • Contacter Canal-U