Bonjour, Je voulais savoir s’il y avait une manière simple de modifier un BFS afin de trouver le plus long chemin à partir d’un noeud donné (passant au plus une fois par le même noeud) dans un graphe pouvant comporter des cycles. J’ai pensé au code suivant mais qui ne fonctionne pas…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | def bfs(lst): global etat,dist if lst == []: return nxt = [] for i in range(0,len(lst)): if len(voisins(lst[i]))==0: etat[lst[i]]=0 for elem in voisins(lst[i]): if etat[elem]!=1: etat[elem]=1 nxt.append(elem) dist[elem]=max(dist[elem],dist[lst[0]]+1) bfs(nxt) |
Merci d’avance pour vos réponses
+0
-0