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 :
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
Exemple :
>>> 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