Ich programmiere schon seit einiger Zeit und stehe gerade total auf dem Schlauch.
Ich brauche eine flexible Datenstruktur, die ein Netz abbildet. Ich habe mich hiermit noch nie befasst.
Wichtig ist, dass das Netz Flexibel ist: Man sollte ohne große Probleme neue Verknüpfungen herstellen können oder auch bei bedarf welche löschen.
Beispielsweise soll man einfach Verbindungen ändern/erstellen können.
Das Einzige, was in jedem Knoten (?) gespeichert sein muss, ist ein Wert vom Type Integer.
Die Verbindungen dienen dazu "Reize", dass heißt im Prinzip Zahlenwerte weiter zu leiten.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| Wurzel /\ / \ l r \ r2 \ r3 Wurzel Änderung von Verknüpfungen /\ / \ l----r \ r2 \ r3 |
Mein Problem ist es, dass ich beim Programmieren, noch nicht weiß, wie sich das Netz mal verändern wird. Das soll heißen
ich kann nicht einfach das Netz als starre Struktur wie bei einem einfachen Baum implementieren.
Ich hatte schon daran gedacht ein STRUCT zu nutzen und jedem Knoten eine Liste, die die mit dem Knoten verbundenen Knoten beinhaltet, zu "geben". Praktisch ein Struct im Struct im Struct,...
C#-Quelltext
1: 2: 3: 4: 5:
| public unsafe struct knoten { public int wert; public List<knoten> list; } |
Aber ich glaube nicht, dass das so gut ist.
Ich erwarte nicht, dass ihr mir eine vollständige Datenstruktur implementiert sondern Denkanstöße liefert oder ggf. geeignetes Material (Links,...) postet.
Danke schon im vorraus.
Filip