Graph mit ungewissen Knoten und Kanten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Python_Dummi01
User
Beiträge: 2
Registriert: Samstag 30. Mai 2015, 18:21

Guten Tag zusammen,
ich leide an einem Anfängerproblem, sicher kann mir jemand weiterhelfen.

graph = { "a" : ["c"],
"b" : ["c", "e"],
"c" : ["a", "b", "d", "e"],
"d" : ["c"],
"e" : ["c", "b"],
}

Wie kann man die Einträge (dh. Knoten und Kanten) offen lassen für spätere Inputs? Ich würde gerne den Graphen erweitern können..
(Der obrige Graph ist lediglich ein Bespiel zur veranschaulichung und hat nichts direkt mit dem Problem zu tun.)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Willkommen im Forum!

Ich verstehe leider nicht dein Problem, da sich der Graph bzw das entsprechende dict jederzeit erweitern laesst.

Ins Blaue geraten suchst du ja vielleicht sowas:

Code: Alles auswählen

def expand_graph(graph, node, edges):
   if node in graph:
       graph[node].extend(set(graph[node]) - set(edges))
    else:
        graph[node] = edges
BlackJack

Oder man macht aus den Kantenlisten gleich `set`\s. :-)
Python_Dummi01
User
Beiträge: 2
Registriert: Samstag 30. Mai 2015, 18:21

Ich meine damit den Graph flexibel zu gestalten bzw. nach dem das Programm bereits läuft soll er erweiterbar sein. Ich denke dabei an sowas wie "wenn es eine input gibt, erstelle neue knoten je Eingabewort.. Ist das möglich?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ja.

Mehr Antwort ist ohne Kontext unmoeglich.
Antworten