Calculer la longueur d'un chemin dans une arborescence - PHP - Programmation
Marsh Posté le 11-07-2014 à 11:56:46
En plus, faut que tu trouves le plus court chemin (cf 1->3 mais qui a un autre chemin : 1->5->6->3)
Je te déconseille de faire une fonction récursive : ça va flinguer les perfs.
transforme ton algo récursif en algo itératif.
Ex :
Code :
|
Mais là, mon algo ne donne qu'un chemin, pas forcément le plus court. Pour ça, faudrait d'abord récupérer tous les chemins possibles puis appliquer l'algo du plus court chemin ( http://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra ).
Marsh Posté le 11-07-2014 à 11:31:40
Bonsoir à tous,
J'ai l'arborescence de mon site qui se trouve dans une table avec 2
colonnes : sources et destination. Ce sont des ID vers une autre table
qui contient les pages proprement dites.
Par exemple :
Source : destination
1 3
2 3
3 4
1 5
5 6
6 3
La page 1 mène à la 3 qui mène à la 4.
La page 2 mène aussi à la 3 qui mène toujours à la 4
La page 1 mène en plus à la 5 qui mène à la 6 qui mène à la 3 qui mène à la 4
Je dois faire une fonction qui calcule la longueur d'une branche à partir d'une page donnée
Si je veux mesurer à partir de 4, j'ai une longueur de 2 (ou de 4 par le long chemin)
A partir de 3 j'ai une longueur de 1
A partir de 1, longueur de 0
Et bref, je bloque sur la fonction :
Une chose est sure il faut faire du backtracking mais je bloque sur les valeurs à renvoyer et quand et où incrémenter le compteur...
Si qqn a une idée, elle est la bienvenue
Message édité par zezette le 11-07-2014 à 12:28:40
---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes