Adjazenzliste - Datenstruktur aber wie?

huckleberry

Bekanntes Mitglied
Hallo Forum,

ich suche eine einfache Datenstruktur für eine Adjazenzliste, welche nicht sortiert wird, in Java.
Ich habe Knoten, welche mit einer eindeutigen long id identifiziert werden.
Desweiteren existiert eine Metrik, sodass über die Positionen der Knoten, die Abstände berechnet werden können.
Ich möchte gerne eine Adjazenzliste bauen, ein 2-Dimensionales Array (Spalten=2; Zeilen je nach Knoten) würde es tun:
long [][] array = new long[2][jenachbedarf];
; // also erste Spalte von KnotenID - zweite Spalte nach KnotenID

jedoch ist diese nicht variabel, "jenachbedarf" also.
Ich habe es mit Map, Lists, Trees probiert, diese wurden aber sortiert :(
Die Reihenfolge in der ich Elemente einfüge sollte freilich so bleiben.

Kein Muss: evtl. eine dritte Spalte, in der der Abstand (double) der beiden Knoten abgelegt wird..

Hat jemand eine einfache Lösung? Sowas müsste es doch in Java fertig geben?
 

nrg

Top Contributor
ich hoffe mal ich habe dich nicht falsch verstanden xD.

Ich möchte gerne eine Adjazenzliste bauen, ein 2-Dimensionales Array (Spalten=2; Zeilen je nach Knoten) würde es tun:
long [][] array = new long[2][jenachbedarf];
warum nur 2 Spalten? hat bei dir jeder Knoten nur maximal einen Nachfolger?

Ich habe es mit Map, Lists, Trees probiert, diese wurden aber sortiert :(

wüsste nicht, dass eine ArrayList die Einträge ohne weiteres sortiert...

grüße
nrg
 

nrg

Top Contributor
die anzahl das knoten soll ja eben variabel sein.

wenn dann hätte ich jetzt gesagt eine arraylist von longarrays

also z.b. so
Java:
		ArrayList<Long[]> adjList = new ArrayList<Long[]>();
		Long[] root = new Long[2];

grüße

edit:
oder eben gleich, wie du schon sagstest eine ArrayList von ArrayLists.. dann könnte auch jeder Knoten mehere Nachfolger haben (bzw beliebig viele)

so in etwa:
Java:
		ArrayList<ArrayList<Long>> adjList = new ArrayList<ArrayList<Long>>();
		ArrayList<Long> root = new ArrayList<Long>();
 
Zuletzt bearbeitet:

huckleberry

Bekanntes Mitglied
hat bei dir jeder Knoten nur maximal einen Nachfolger?
Richtig!
Ich habe eine Kreisfläche mit Punkten(Position bekannt). Ich möchte diese Knoten nun wie eine Perlenkette an einer Schnur durch spießen (bildlich gesprochen) und das ohne viel Schnur zu verschenden. Also wie ein Ring. Hoffe das war verständlich ;)

wüsste nicht, dass eine ArrayList die Einträge ohne weiteres sortiert...
Ok, genau, die ArrayList sortiert nicht, hatte aber nur eine Spalte..
Es sei denn ich baue ne dazupassende neue Klasse:
Java:
public class MeineAdjazList {
	protected String fromNodeId;
	protected double distanceBetween;
	protected String toNodeId;
        // Getter, Setter, Kontruktoren, ...

//Später dann..
List<MeineAdjazList> myAdjazList = new ArrayList<MeineAdjazList>();

Oder bekomme ich das auch mit ArrayList hin, ohne diese Klasse?
 

huckleberry

Bekanntes Mitglied
wenn dann hätte ich jetzt gesagt eine arraylist von longarrays
Pardon, die Id's sind doch Strings. Mein Fehler..

Java:
		ArrayList<Long[]> adjList = new ArrayList<Long[]>();
		Long[] root = new Long[2];
Java:
		ArrayList<ArrayList<Long>> adjList = new ArrayList<ArrayList<Long>>();
		ArrayList<Long> root = new ArrayList<Long>();
Boa, ich glaube das verwirrt mich später bei den Zugriffen auf die Elemente massiv.. :shock:

Unterschied
Java:
List<MeineAdjazList> myAdjazList = new ArrayList<MeineAdjazList>();
ArrayList<MeineAdjazList> myAdjazList = new ArrayList<MeineAdjazList>();
ist nur die synchronisation? ???:L
Würde doch so gehen oder?
 
Zuletzt bearbeitet:

nrg

Top Contributor
ja. gibt es mehrere Möglichkeiten. Eine Klasse zu erstellen, pro Knoten ein Objekt instanziieren, das dann den Nachfolger und andere Infos in den Attributen verwaltet und die Objekte dann in eine Liste packen sollte auch gehen.

deckt sich eigentlich im grunde mit
Java:
       ArrayList<String[]> adjList = new ArrayList<String[]>();
       String[] root = new String[2];

nur, dass hier die Daten mit root[index] zu holen sind und bei dir mit obj.getXXX.

grüße
nrg
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Adjazenzliste Java Basics - Anfänger-Themen 13
R Adjazenzliste leer Java Basics - Anfänger-Themen 3
M Adjazenzliste Java Basics - Anfänger-Themen 35
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
FelixN Teilsummenproblem / welche Datenstruktur Java Basics - Anfänger-Themen 2
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
O Datenstruktur auf SET prüfen in O(n) Java Basics - Anfänger-Themen 32
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
A Datenstruktur für Savings Algorithmus und Planung von kleinen Programmierprojekten Java Basics - Anfänger-Themen 1
F Beste Datenstruktur zum Speichern? Java Basics - Anfänger-Themen 1
I Spielbrett programmieren: Datenstruktur Java Basics - Anfänger-Themen 3
R Klassen Die lineare Datenstruktur Queue Java Basics - Anfänger-Themen 3
S Welche Datenstruktur ist die optimalste um Funktionen fuer bestimmte Wertebereiche abzurufen..? Java Basics - Anfänger-Themen 5
C Methoden Datenstruktur Liste Java Basics - Anfänger-Themen 3
S Datentypen nicht lineare STATISCHE Datenstruktur? Java Basics - Anfänger-Themen 10
S Zusammenhang Datenstruktur/Algorithmus Java Basics - Anfänger-Themen 1
M Datenstruktur gesucht Java Basics - Anfänger-Themen 3
Luk10 Geeignete Datenstruktur Java Basics - Anfänger-Themen 4
J Erzeugen einer Datenstruktur Java Basics - Anfänger-Themen 12
T Datenstruktur für Sortierung Java Basics - Anfänger-Themen 4
H mehrdimensionale Datenstruktur erfassen Java Basics - Anfänger-Themen 10
StupidAttack Gson, welche Datenstruktur? Java Basics - Anfänger-Themen 4
T Java-Datenstruktur: zuweisen von Strings auf Listen von Strings Java Basics - Anfänger-Themen 10
N Vektor mit eigener Datenstruktur sortieren Java Basics - Anfänger-Themen 20
D Welche Datenstruktur für welche Problemstellung? Java Basics - Anfänger-Themen 10
A begrenzte Datenstruktur zur Speicherung von bytes Java Basics - Anfänger-Themen 6
Povlsen84 Datentypen Große, sortierte, schnelle Datenstruktur Java Basics - Anfänger-Themen 9
B Finden gemeinsamer Kanten: welche Datenstruktur ? Java Basics - Anfänger-Themen 9
B Schlange Datenstruktur Java Basics - Anfänger-Themen 16
G Datenstruktur gesucht Java Basics - Anfänger-Themen 14
A Schnelle, dynamische, geordnete Datenstruktur? Java Basics - Anfänger-Themen 11
E Gibt es eine ähnliche Datenstruktur wie eine Hashmap Java Basics - Anfänger-Themen 3
K eigene Hash-Datenstruktur Java Basics - Anfänger-Themen 2
D Was fürne Datenstruktur für Kreuztabelle mit doubles? Java Basics - Anfänger-Themen 1
K Datentyp vs. Datenstruktur - Unterschiede Java Basics - Anfänger-Themen 13
D Was machen wenn Datenstruktur sich ständig ändert? Java Basics - Anfänger-Themen 10
0 Dynamische Datenstruktur ohne Duplikate und mit direkter Elementauswahl Java Basics - Anfänger-Themen 3
G Welche Datenstruktur ( Sets / Maps)? Java Basics - Anfänger-Themen 10
I Datenstruktur eines Terminkalenders Java Basics - Anfänger-Themen 11
K suche nicht dynamisch Datenstruktur Java Basics - Anfänger-Themen 6
M Suche passende Datenstruktur Java Basics - Anfänger-Themen 3
P geeignete Datenstruktur für dreidimensionale Raumbelegung Java Basics - Anfänger-Themen 5
G Suche geeignete Datenstruktur Java Basics - Anfänger-Themen 8
G Baum Datenstruktur Java Basics - Anfänger-Themen 2
U Welche Datenstruktur soll ich nehmen? Java Basics - Anfänger-Themen 11
G Welche Datenstruktur ist hier die sinnvolste Java Basics - Anfänger-Themen 6
G Datenstruktur und die Kommunikation mit der GUI Java Basics - Anfänger-Themen 10
X txt datei in eine datenstruktur einlesen Java Basics - Anfänger-Themen 3
J Datenstruktur Java Basics - Anfänger-Themen 6
G Datenstruktur [int id, int wert] nach wert sortieren? Java Basics - Anfänger-Themen 5
S Welche Datenstruktur für Tabelle/DB? Java Basics - Anfänger-Themen 5
1 Wahl der Datenstruktur für die Suche. Java Basics - Anfänger-Themen 9
G Geeignete Datenstruktur ? Java Basics - Anfänger-Themen 8
N passende Datenstruktur Java Basics - Anfänger-Themen 3
E welche Datenstruktur (Collection) Java Basics - Anfänger-Themen 4
6 Welche Datenstruktur? Java Basics - Anfänger-Themen 3
P Datenstruktur Java Basics - Anfänger-Themen 4
J Kann man Daten innerhalb einer Datenstruktur verändern? Java Basics - Anfänger-Themen 4
K datenstruktur Java Basics - Anfänger-Themen 5
G Datenstruktur abbilden Java Basics - Anfänger-Themen 3
F Welche Datenstruktur für Matrix mit Vektoren? Java Basics - Anfänger-Themen 2
F Gibt es eine Datenstruktur für Koordinaten x, y? Java Basics - Anfänger-Themen 8
E Welche Datenstruktur für Spielbäume? Java Basics - Anfänger-Themen 13
P Datenstruktur gesucht: Array mit Dictionary Java Basics - Anfänger-Themen 2
H Datenstruktur für folgende Daten Java Basics - Anfänger-Themen 8
G Komplexe Datenstruktur (Liste heterogener Datensätze) ? Java Basics - Anfänger-Themen 2
P Welche Datenstruktur um schnell zu suchen? Java Basics - Anfänger-Themen 25
S Datenstruktur für Fahrplan einer Buslinie Java Basics - Anfänger-Themen 7
S Heterogene Datenstruktur Problem mit Set Java Basics - Anfänger-Themen 12
G Datenbank VS simpler Datenstruktur Java Basics - Anfänger-Themen 3
K Welche Datenstruktur für eine Bibliotheksanwendung? Java Basics - Anfänger-Themen 5
G datenstruktur für jTable? Java Basics - Anfänger-Themen 4
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
H Kapselung protected aber in einer Kindklasse nicht zugänglich Java Basics - Anfänger-Themen 5
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
P Installation JRE 8u321 startet, geht aber nicht weiter Java Basics - Anfänger-Themen 1
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
L Mergesort (aber anders) Java Basics - Anfänger-Themen 2
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
HelpInneed Baum ausgeben (aber mal anders) Java Basics - Anfänger-Themen 3
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
H Kapselung JProgressBar in JTable, aber getValueAt() greift nicht Java Basics - Anfänger-Themen 7
U Den Kuchen aufteilen - aber wie? (Rebalancing-Algorithmus) Java Basics - Anfänger-Themen 14
OSchriever Jar-Programm läuft auf Windows aber nicht auf Linux(Raspberri Pi4) Java Basics - Anfänger-Themen 22
R Fehlermeldung aber WO liegt der Fehler? Java Basics - Anfänger-Themen 7
I DecimalFormat in Zahlenformat für Währung, habe 7,99, bekomme aber 7 Java Basics - Anfänger-Themen 4
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
AGW App programmiert lassen, aber Änderungen vornehmen Java Basics - Anfänger-Themen 13
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
B Fehler, aber ich weiß nicht warum Java Basics - Anfänger-Themen 3
J Fehler im Code, aber ich weiß nicht wieso! Java Basics - Anfänger-Themen 6
B Java Mail -> Mail senden, ist aber nich in IMAP unter "Gesendet" Java Basics - Anfänger-Themen 3
A Figur erkennen, aber Abweichung falsch Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben