n

nitin rathod
Überprüfung von NUI Maynooth

3 Jahre zuvor

BEst Universität

BEst Universität

Das College-Ambiente ist sehr gut. Das beste College zum Studieren. Man kann in jedem Bereich arbeiten und seine Träume in allen Bereichen wie Motorsport, Tanzen, Singen und WICHTIGSTEM SPORT verwirklichen

EIN * \
GRAPH = {\
'Arad': {'Sibiu': 140, 'Zerind': 75, 'Timisoara': 118}, \
'Zerind': {'Arad': 75, 'Oradea': 71}, \
'Oradea': {'Zerind': 71, 'Sibiu': 151}, \
'Sibiu': {'Arad': 140, 'Oradea': 151, 'Fagaras': 99, 'Rimnicu': 80}, \
'Timisoara': {'Arad': 118, 'Lugoj': 111}, \
'Lugoj': {'Timisoara': 111, 'Mehadia': 70}, \
'Mehadia': {'Lugoj': 70, 'Drobeta': 75}, \
'Drobeta': {'Mehadia': 75, 'Craiova': 120}, \
'Craiova': {'Drobeta': 120, 'Rimnicu': 146, 'Pitesti': 138}, \
'Rimnicu': {'Sibiu': 80, 'Craiova': 146, 'Pitesti': 97}, \
'Fagaras': {'Sibiu': 99, 'Bukarest': 211}, \
'Pitesti': {'Rimnicu': 97, 'Craiova': 138, 'Bukarest': 101}, \
'Bukarest': {'Fagaras': 211, 'Pitesti': 101, 'Giurgiu': 90, 'Urziceni': 85}, \
'Giurgiu': {'Bukarest': 90}, \
'Urziceni': {'Bukarest': 85, 'Vaslui': 142, 'Hirsova': 98}, \
'Hirsova': {'Urziceni': 98, 'Eforie': 86}, \
'Eforie': {'Hirsova': 86}, \
'Vaslui': {'Iasi': 92, 'Urziceni': 142}, \
'Iasi': {'Vaslui': 92, 'Neamt': 87}, \
'Neamt': {'Iasi': 87} \
}}

def dfs_paths (Quelle, Ziel, Pfad = Keine):
"" "Alle möglichen Pfade von der Quelle zum Ziel mithilfe der Tiefensuche
: param source: Name der Quellstadt
: param Ziel: Name der Zielstadt
: param path: Aktueller durchlaufener Pfad (Standardwert = Keine)
: Ausbeute: Alle möglichen Pfade von der Quelle zum Ziel
"" "
Wenn Pfad Keine ist:
Pfad = [Quelle]
wenn Quelle == Ziel:
Ertragspfad
für next_node in set (GRAPH [Quelle] .keys ()) - set (Pfad):
Ausbeute aus dfs_paths (next_node, Ziel, Pfad + [next_node])

def ucs (Quelle, Ziel):
"" Günstigster Pfad von der Quelle zum Ziel mit einheitlicher Kostensuche
: param source: Name der Quellstadt
: param Ziel: Name der Zielstadt
: return: Kosten und Weg für die billigste Durchquerung
"" "
aus dem Warteschlangenimport PriorityQueue
priority_queue, visit = PriorityQueue (), {}
priority_queue.put ((0, source, [source]))
besucht [Quelle] = 0
während nicht priority_queue.empty ():
(Kosten, Scheitelpunkt, Pfad) = priority_queue.get ()
if vertex == Ziel:
Rücksendekosten, Weg
für next_node in GRAPH [vertex] .keys ():
current_cost = cost + GRAPH [vertex] [next_node]
wenn nicht next_node in besucht oder besucht [next_node]> = current_cost:
besuchte [next_node] = aktuelle_Kosten
priority_queue.put ((current_cost, next_node, path + [next_node]))

def a_star (Quelle, Ziel):
"" "Optimaler Pfad von der Quelle zum Ziel mithilfe der geraden Entfernungsheuristik
: param source: Name der Quellstadt
: param Ziel: Name der Zielstadt
: return: Heuristischer Wert, Kosten und Pfad für eine optimale Durchquerung
"" "
# HIER BEZIEHEN SICH DIE GERADE-ENTFERNUNGSWERTE AUF BUKAREST ALS ZIEL
geradlinig = {\
'Arad': 366, \
'Zerind': 374, \
'Oradea': 380, \
'Sibiu': 253, \
'Timisoara': 329, \
'Lugs': 244, \
'Mehadia': 241, \
'Drobeta': 242, \
'Craiova': 160, \
'Rimnicu': 193, \
'Fagaras': 176, \
'Pitesti': 100, \
'Bukarest': 0, \
'Jury': 77, \
'Urziceni': 80, \
'Hirsova': 151, \
'Eforie': 161, \
'Vaslui': 199, \
'Iasi': 226, \
'Neamt': 234 \
}}

Übersetzt

Bemerkungen:

Keine Kommentare