Skip to content
Snippets Groups Projects
Commit c3d87510 authored by TheVroum's avatar TheVroum
Browse files

qs

parent 51cba922
No related branches found
No related tags found
No related merge requests found
...@@ -4,7 +4,6 @@ from collections import defaultdict ...@@ -4,7 +4,6 @@ from collections import defaultdict
from functools import cache from functools import cache
from typing import Callable from typing import Callable
from input import E, V from input import E, V
...@@ -20,6 +19,7 @@ type FonctionDeLongueur = Callable[[Arc], Réel] ...@@ -20,6 +19,7 @@ type FonctionDeLongueur = Callable[[Arc], Réel]
type Tas = list[tuple[Réel, Arc]] type Tas = list[tuple[Réel, Arc]]
@cache @cache
def arcs_sortants_map(g: GraphType) -> dict[Sommet, set[Arc]]: def arcs_sortants_map(g: GraphType) -> dict[Sommet, set[Arc]]:
retour: defaultdict[Sommet, set[Arc]] = defaultdict(set) retour: defaultdict[Sommet, set[Arc]] = defaultdict(set)
...@@ -27,6 +27,7 @@ def arcs_sortants_map(g: GraphType) -> dict[Sommet, set[Arc]]: ...@@ -27,6 +27,7 @@ def arcs_sortants_map(g: GraphType) -> dict[Sommet, set[Arc]]:
retour[arc[0]].add(arc) retour[arc[0]].add(arc)
return retour return retour
def arcs_sortants(g: GraphType, u: Sommet) -> set[Arc]: def arcs_sortants(g: GraphType, u: Sommet) -> set[Arc]:
return arcs_sortants_map(tuple(frozenset(g_component) for g_component in g))[u] return arcs_sortants_map(tuple(frozenset(g_component) for g_component in g))[u]
...@@ -50,7 +51,6 @@ def plus_courts_chemins( ...@@ -50,7 +51,6 @@ def plus_courts_chemins(
prédécesseurs[s] = None prédécesseurs[s] = None
distance[s] = 0 distance[s] = 0
explore(s) explore(s)
while frontière: while frontière:
e: Arc = heapq.heappop(frontière)[1]; v: Sommet = e[1] e: Arc = heapq.heappop(frontière)[1]; v: Sommet = e[1]
if v not in parcouru: if v not in parcouru:
...@@ -61,4 +61,3 @@ def plus_courts_chemins( ...@@ -61,4 +61,3 @@ def plus_courts_chemins(
pprint(plus_courts_chemins((V, E), lambda x: 1.0, "A")) pprint(plus_courts_chemins((V, E), lambda x: 1.0, "A"))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment