mirror of
https://github.com/Fare-spec/cours.git
synced 2025-12-08 03:00:37 +00:00
Auto urgent commit.
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
# -*- Coding: utf-8 -*-
|
# -*- Coding: utf-8 -*-
|
||||||
|
|
||||||
|
from typing import Deque
|
||||||
|
|
||||||
|
|
||||||
class Graphe_Oriente(object):
|
class Graphe_Oriente(object):
|
||||||
"""
|
"""
|
||||||
Classe des Graphes Orientés (GO).
|
Classe des Graphes Orientés (GO).
|
||||||
@@ -66,11 +69,16 @@ def construire_chemins(graphe, depart):
|
|||||||
|
|
||||||
:effet de bord: Aucun
|
:effet de bord: Aucun
|
||||||
"""
|
"""
|
||||||
result = {
|
visited = set()
|
||||||
depart: (0,None)
|
queue = Deque([depart])
|
||||||
}# distance 0 et aucun truc avant
|
visited.add(depart)
|
||||||
queue = [depart]
|
while queue:
|
||||||
|
vertex = queue.popleft()
|
||||||
|
|
||||||
|
for neighbor in graphe[vertex]:
|
||||||
|
if neighbor not in visited:
|
||||||
|
visited.add(neighbor)
|
||||||
|
queue.append(neighbor)
|
||||||
|
|
||||||
|
|
||||||
def reconstruire_chemin_vers(dico_chemins, *arrivee):
|
def reconstruire_chemin_vers(dico_chemins, *arrivee):
|
||||||
@@ -83,7 +91,7 @@ def reconstruire_chemin_vers(dico_chemins, *arrivee):
|
|||||||
(si vide, on considère tous les sommets)
|
(si vide, on considère tous les sommets)
|
||||||
:return resultat list: liste des chemins ie des listes de sommets traversés
|
:return resultat list: liste des chemins ie des listes de sommets traversés
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
|
||||||
def affichage_chemin(chemin):
|
def affichage_chemin(chemin):
|
||||||
"""
|
"""
|
||||||
|
|||||||
22
graphes/leaudibidon/correction.py
Normal file
22
graphes/leaudibidon/correction.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
def produit_cartesien(*listes):
|
||||||
|
if not listes:
|
||||||
|
return []
|
||||||
|
if len(listes) == 1:
|
||||||
|
return listes[0]
|
||||||
|
if len(listes) == 2:
|
||||||
|
liste1, liste2 = listes
|
||||||
|
resultat = list()
|
||||||
|
for tuple_1 in liste1:
|
||||||
|
for tuple_2 in liste2:
|
||||||
|
resultat.append(tuple_1 + tuple_2)
|
||||||
|
return resultat
|
||||||
|
liste1, *reste = listes
|
||||||
|
return produit_cartesien(liste1, produit_cartesien(*reste))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
liste1 = [(_,) for _ in range(3)]
|
||||||
|
liste2 = [(_,) for _ in range(5)]
|
||||||
|
liste3 = [(_,)for _ in range(8)]
|
||||||
|
print(produit_cartesien(liste1,liste2))
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
def produit_cartesien(*listes):
|
|
||||||
if listes == None:
|
|
||||||
return []
|
|
||||||
if len(listes) == 1:
|
|
||||||
return listes[0]
|
|
||||||
Reference in New Issue
Block a user