Graph/Adjazenzliste programmieren

Talent1704

Mitglied
Hallo Zusammen,

ich sitze an einer Programmierung um alle Graphen bis zu einer bestimmten Eckenanzahl als Adjazenzliste auszugeben. Aktuell würde ich dies zunächst mit Binärvektoren, welche anschließend in eine Adjazenzliste umgerechnet werden, probieren. Oder hat hier jemand bessere Ideen/Algorithmen?
Bzw. wie kann ich das Ganze im Anschluss am besten umwandeln?

Für Ideen wäre ich dankbar.

Beste Grüße
 

MoxxiManagarm

Top Contributor
Ich verstehe immer noch nicht was du mit allen möglichen Graphen meinst. Ein Graph mit 3 Knoten hat, sofern er zusammenhängend ist und ohne Berücksichtung der Kantenrichtung, bereits 4 Varianten (1-2-3 circular, 1-2-3, 1-3-2, 2-1-3), bei 4 direkt schon deutlich mehr. Ich kann mir schlecht vorstellen, dass du das für höhere n machen willst, das steigt proportional an.
 
Zuletzt bearbeitet:

Talent1704

Mitglied
Es geht nur um ungerichtete Graphen, die zunächst auch nicht zusammenhängend sein müssen. Heißt es sollen wirklich alle möglichen sein. Ziel ist es zu prüfen bis zu wie viel n das geht. Also ja auch für höhere :)
 

MoxxiManagarm

Top Contributor
Ok dann hast du aber bei n=3 bereits
1-2-3 (geschlossen)
1-2-3
1-3-2
2-1-3
1-2 3
1-3 2
1 2-3
1 2 3

Oder falls die Nummerierung keinen Einfluss hat
#-#-# (geschlossen)
#-#-#
#-# #
# # #

Von einer ggf. Anzahl Knoten würde ich erst die Kanten darstellen, ob diese da sind oder nicht. Bei der nummerierten Variante für n=3 hättest du 3 Kanten 1-2, 1-3, 2-3. Die Anzahl aller möglichen Graphen sind alle möglichen Kombinationen von Sichtbar/nicht sichtbar. Eine Variante ist dann ein Vektor von true/false. Das Ergebnis basierend auf diesem boolean-Vektor kannst du sicher einfach in die Adjazenzliste umwandeln. Aber ich schätze das meintest du bereits mit deinem Ansatz.

Für die nummerierte Variante hättest du also die Vektoren entsprechend der oberen Liste und den Kanten 1-2, 1-3, 2-3 in der Reihenfolge
[true, true, true]
[true, false, true]
[false, true, true]
[true, true, false]
[true, false, false]
[false, true, false]
[false, false, true]
[false, false, false]

Setzt du es rekursiv um dann findest du sicher irgendwann die Grenze in der Rekursionstiefe. Wäre aber, vermute ich, einfacher umzusetzen. Iterativ ist es wahrscheinlich schwieriger eine Aussage zu treffen bis wohin es möglich ist.
 

MoxxiManagarm

Top Contributor
Ich habe vergessen zu erwähnen: In meiner Formel ist n natürlich die Anzahl der Kanten, nicht der Knoten. Du müsstest vorher von der Anzahl der Knoten auf die Anzahl der Kanten schließen.
 

MoxxiManagarm

Top Contributor
Ich habs übrigens für mich auch mal getestet. Bis 7 Knoten ist es mir geglückt. Allerdings bin ich nicht am StackOverflow gescheitert (wäre bei 7 auch noch nicht relevant) sondern am OutOfMemory. Ist ja eigentlich auch klar:

7 Knoten sind 21 Kanten, also 2^21=2.1M Varianten, die im Speicher gehalten werden. Bei 8 sind es bereits 2^28=268.5M Varianten. Bei 268.5M ist mein Rechner eben gescheitert. Für mehr müsste ich irgendeinen Zwischenspeicher implementieren oder ganz anders herangehen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Sehr großen Graph mit Verbindungen bauen und minimieren? Allgemeine Java-Themen 35
N Graph Visualizition Allgemeine Java-Themen 5
B Type mismatch: cannot convert from Graph.Edge to ArrayList<Graph.Edge> Allgemeine Java-Themen 21
F Framework/Plugin für Tree-Darstellung in Graph Allgemeine Java-Themen 0
J Breitensuche in Graph rekursiv Allgemeine Java-Themen 2
Y Prüfen ob ein Graph immer einen von mehren Enden erreicht Allgemeine Java-Themen 4
H Graph-Algorithmus gesucht Allgemeine Java-Themen 21
M Jaxb und JPA: A cycle is detected in the object graph Allgemeine Java-Themen 5
T Algorithmus Graph Allgemeine Java-Themen 10
Mike90 Graph in einer Mail verschicken Allgemeine Java-Themen 7
N Graph mit JUNG-Framework erstellen Allgemeine Java-Themen 2
as182005 Bibliothek für Graph Visualisierung gesucht Allgemeine Java-Themen 3
dru Graph aus Ascii Daten erstellen Allgemeine Java-Themen 2
P Graph Permutationen Allgemeine Java-Themen 29
J Vererbungshirachie Graph Allgemeine Java-Themen 4
royale Breitendurchlauf / Dijkstra durch Graph, vereinfacht Allgemeine Java-Themen 3
G Graph mittels Punkte erstellen Allgemeine Java-Themen 27
C JUNG Framework - einfacher Graph Allgemeine Java-Themen 7
X Adjazenzliste ohne ArrayList Allgemeine Java-Themen 6
T Programmieren als Angestellter Allgemeine Java-Themen 2
NoahPillich Navigations-App und Wegfindung selber programmieren - Erfahrungen, Ideen, Anregungen Allgemeine Java-Themen 6
M Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B hard wrap selber programmieren Allgemeine Java-Themen 9
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
L Einfache Navigations-App schnell selber Programmieren? Bitte um Ideen und Anregungen. Allgemeine Java-Themen 17
Q Java-Programmieren Allgemeine Java-Themen 1
B BOT mit Java [Eclipse] programmieren Allgemeine Java-Themen 7
kanywayne Java programmieren: Polynom Klasse Allgemeine Java-Themen 4
O wie kann ich p = s · (1 + r )^t-s programmieren? Allgemeine Java-Themen 7
N Lottowebsite programmieren mittels Java, HTML,.... Allgemeine Java-Themen 7
J Vokabeltrainer programmieren Allgemeine Java-Themen 4
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
Q Möglichkeit Online-Programmieren üben. Allgemeine Java-Themen 9
B Schach programmieren Allgemeine Java-Themen 2
S Einfaches Programm programmieren Allgemeine Java-Themen 5
F Große Datenmengen effizient programmieren Allgemeine Java-Themen 51
E Einen Bot Programmieren. Allgemeine Java-Themen 6
M Allgemeine Frage: Wie lernt man Java / Programmieren von Grund auf? Allgemeine Java-Themen 7
R Wie einen ClientBuilder / JarBuilder programmieren? Allgemeine Java-Themen 14
T Sprachsteuerung programmieren? Allgemeine Java-Themen 1
W IDEA IntelliJ Build-Management-Tool selbst programmieren Allgemeine Java-Themen 2
D Was als nächstes programmieren? Allgemeine Java-Themen 6
C Compiler programmieren Allgemeine Java-Themen 13
U Methoden Algorithmus MergeSort String [ ] array sortieren programmieren Allgemeine Java-Themen 17
H .Sh Datei ausführen programmieren Allgemeine Java-Themen 5
T Frage zu UML in Java programmieren Allgemeine Java-Themen 1
G Bot Programmieren Allgemeine Java-Themen 16
T Best Practice Eigene GUI programmieren | MouseMotion Detection Allgemeine Java-Themen 3
A Erste Schritte Die Kunst am Programmieren Allgemeine Java-Themen 20
S Captchas programmieren Allgemeine Java-Themen 6
J Java: Installer für Mods programmieren Allgemeine Java-Themen 5
J Java eigenen Button programmieren (ob Cursor im Rechteck ist oder nicht..../button pressed or not) Allgemeine Java-Themen 6
P Effizientes Programmieren - oder Windows Autostart fürs Herunterfahren Allgemeine Java-Themen 11
A Update Software programmieren Allgemeine Java-Themen 1
G Objekotorientiertes Programmieren / Lose Kopplung Allgemeine Java-Themen 5
G PC Fernbedienung programmieren Allgemeine Java-Themen 6
I Dringend nachhilfe in programmieren gesucht!!!!!!!! Allgemeine Java-Themen 1
I Dringend nachhilfe in programmieren in mannheim gesucht!!!!! Allgemeine Java-Themen 3
L COM Schnittstelle in Java programmieren Allgemeine Java-Themen 4
U BlueJ NXT Projekt programmieren Allgemeine Java-Themen 0
V Abwesenheitsliste programmieren - Ideen? Allgemeine Java-Themen 11
P KI für TicTacToe programmieren > Probleme Allgemeine Java-Themen 2
J (Java3D) Einen Faden programmieren - Logikproblem Allgemeine Java-Themen 5
M Android Programmieren Allgemeine Java-Themen 11
B Virtualisierung Programmieren Allgemeine Java-Themen 3
B Shortcut Erkennung programmieren Allgemeine Java-Themen 5
K Parallel programmieren mit ExecutorService Allgemeine Java-Themen 41
T Takuzu Spiel programmieren Allgemeine Java-Themen 4
L CSV Beziehungen programmieren Allgemeine Java-Themen 7
P wie logisch Programmieren? Allgemeine Java-Themen 6
K Programmieren anfangen. Allgemeine Java-Themen 21
J Problem mit Programmieren in Eclipse Allgemeine Java-Themen 5
E Klassen Mitgliederverwaltung programmieren Allgemeine Java-Themen 6
N Abkürzung STRG-G zu programmieren Allgemeine Java-Themen 4
P Java auf dem Handy programmieren Allgemeine Java-Themen 16
truesoul Sudoku programmieren Allgemeine Java-Themen 23
K sauber und schön programmieren Allgemeine Java-Themen 2
X Spiele für Handys programmieren Allgemeine Java-Themen 2
J Abbuchung vom Konto programmieren Allgemeine Java-Themen 6
P Fortgeschritten Java programmieren Allgemeine Java-Themen 2
J Dymnamische Programmieren. Allgemeine Java-Themen 4
MQue Schnittstelle programmieren Allgemeine Java-Themen 2
D brauch hilfe ! bei Spiele Programmieren Allgemeine Java-Themen 5
F Autorennen programmieren Allgemeine Java-Themen 5
H Graustufe programmieren Allgemeine Java-Themen 7
M Intervall Programmieren ? Allgemeine Java-Themen 3
leifg Rekursiv mit Threads Programmieren Allgemeine Java-Themen 2
M Java Programm als Dämon Programmieren. Allgemeine Java-Themen 7
V Avatar selbst programmieren Allgemeine Java-Themen 4
M Generics - besser programmieren, Warnung umgehen Allgemeine Java-Themen 4
G Was als fortgeschrittener Anfänger programmieren? Allgemeine Java-Themen 7
S grafisch programmieren aber nicht applets Allgemeine Java-Themen 13
W Spiel für Handy, normale GUI und Web programmieren Allgemeine Java-Themen 2
P Mehrsprachig programmieren ResourceBundle Allgemeine Java-Themen 6
reibi Eclipse PlugIn selber programmieren Allgemeine Java-Themen 3
T einen SVN- oder QVCS-Client selber programmieren Allgemeine Java-Themen 2
saxman Lego Mindstorms Roboter mit Java programmieren Allgemeine Java-Themen 9
S eine farbpipette programmieren Allgemeine Java-Themen 7
V Mit Java einen Shop programmieren ? Allgemeine Java-Themen 8
M Mehrsprachig programmieren Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben