Bonjour,
J'ai besoin d'utiliser l'algorithme de DFS mais je n'arrive pas à le programmer de façon récursive pourriez-vous m'aidez ?
Mon programme prend en entrer une liste de liste et le sommet de départ et renvoie la liste des sommets parcourus
Voici mon code :
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 def DFS(mat,src): """ Retourne la liste des sommets rencontrés lors d'un parcours en profondeur issu du sommet <src>. Arguments: mat -- matrice d'adjacence du graphe src -- un sommet du graphe, départ du parcours """ visite = [] visite.append(src) for j in range(0, len(mat)): if visite[j]==0 and mat[src][j] == 1: DFS(mat, j) return visite
>>> DFS([[0, 0, 1, 1, 0], [1, 0, 0, 0, 0], [0, 1, 0, 1, 0], [0, 1, 1, 0, 0], [1, 0, 1, 0, 0]],0)
[0, 2, 1, 3]
Merci d'avance
Partager