Hallo an alle,
ich fürchte der Ein oder Andere erinnert sich noch an mein Problem mit Graphen und Knoten.
Noch einmal kurz zusammengefasst:
Ich versuche verschiedene Algorithmen auf Graphen zu implementieren. Meine Graphen speichere ich als selbst erstellte Graph Struktur, die intern eine ArrayList aus selbst gebauten Knoten hat.
Nun muss ich sehr oft diesselben Knoten meines Graphen in verschiedene ArrayList schreiben um verschiedene Funktionen aufzurufen.
Meine 1. Frage ist nun:
Wenn ich die Knoten, die in einer ArrayList aus Knoten gespeichert sind, in eine andere ArrayList schreibe und dort etwas mit ihnen mache, dann ändert sich das auch in den Knoten des Graphen, richtig??? Denn insgesamt möchte ich egal in welchen ArrayList die Knoten nun stehen immer mit denselben Knoten arbeiten.
2.
Aktuell arbeite ich an einer Funktion die sich rekursiv selbst aufruft, jedoch nur noch auf bestimmte Teilgraphen des 1. Graphen. Das bedeutet, dass ich innerhalb des rekursiven den Teilgraphen brauche jedoch nicht den 1. Graphen ändern darf, da ich den nach der Rückgabe des Ergebnisses wieder unverändert brauche. Wie könnte man dies elegenat lösen. Sollte ich eine Kopie des 1. Graphen und somit aller seiner Knoten erstellen, und auf denen arbeiten, oder wie kann man dies machen?
Wie ihr merkt habe ich große Probleme mit den Punkten call by reference und call by value.
Ich hoffe, Ihr könnt mir Tipps zu meinen Fragen geben.
Vielen Dank...
ich fürchte der Ein oder Andere erinnert sich noch an mein Problem mit Graphen und Knoten.
Noch einmal kurz zusammengefasst:
Ich versuche verschiedene Algorithmen auf Graphen zu implementieren. Meine Graphen speichere ich als selbst erstellte Graph Struktur, die intern eine ArrayList aus selbst gebauten Knoten hat.
Nun muss ich sehr oft diesselben Knoten meines Graphen in verschiedene ArrayList schreiben um verschiedene Funktionen aufzurufen.
Meine 1. Frage ist nun:
Wenn ich die Knoten, die in einer ArrayList aus Knoten gespeichert sind, in eine andere ArrayList schreibe und dort etwas mit ihnen mache, dann ändert sich das auch in den Knoten des Graphen, richtig??? Denn insgesamt möchte ich egal in welchen ArrayList die Knoten nun stehen immer mit denselben Knoten arbeiten.
2.
Aktuell arbeite ich an einer Funktion die sich rekursiv selbst aufruft, jedoch nur noch auf bestimmte Teilgraphen des 1. Graphen. Das bedeutet, dass ich innerhalb des rekursiven den Teilgraphen brauche jedoch nicht den 1. Graphen ändern darf, da ich den nach der Rückgabe des Ergebnisses wieder unverändert brauche. Wie könnte man dies elegenat lösen. Sollte ich eine Kopie des 1. Graphen und somit aller seiner Knoten erstellen, und auf denen arbeiten, oder wie kann man dies machen?
Wie ihr merkt habe ich große Probleme mit den Punkten call by reference und call by value.
Ich hoffe, Ihr könnt mir Tipps zu meinen Fragen geben.
Vielen Dank...