Erste Schritte Referenz zum Knoten davor, in einer Liste

ioannis_m

Mitglied
Tach zusammen,

ich hab einen Graph in der Adjazenzliste Repräsentation und möchte die

Code:
public void remove(Edge e)

Methode dazu schreiben. Ich iteriere über alle Elemente in der Liste mit Hilfe des Iterators

Code:
    public AdjList getAdjList(int v) {
        return new AdjLinkedList(v);
    }
        private class AdjLinkedList implements AdjList{
            private int v; private Node t;
            AdjLinkedList(int v) {
                this.v = v; t = null;
            }
            public int beg(){
                t = adj[v];
                return t == null ? -1 : t.x;
            }
            public int next(){
                if (t != null) t = t.next;
                return t == null ? -1 : t.x;
            }
            public boolean end(){
                return t == null;
            }
    }

Ich brauche eine Referenz zum Knoten davor, damit ich seinem next den Knoten danach zuweisen kann.

Ich dachte an so was

Code:
    public void remove(Edge e) {
        int v = e.v; int w = e.w;
        AdjList adjList = getAdjList(v);
       
        for (adjList.beg();!adjList.end();adjList.next()){
            int from = adjList.next();
            if (from == w)

aber somit springt die interne private Variable t auch nach vorne. Gibt es eine Möglichkeit die Referenz an die richtige Stelle zu bekommen, oder muss ich dazu auch den Iterator anfassen?

Danke & Gruß
ioannis
 

stg

Top Contributor
Du klatsch uns hier totalen Ramsch-Code hin, der sich nicht einmal kompilieren lässt.
Niemand hier kennt die Struktur deiner Liste, daher wird dir auch niemand eine Antwort darauf geben können, wie man an den Knoten "davor" kommt. Zumal du auch gar nicht sagst, vor was du eigentlich meinst.
Nach dem, was ich hier bisher gesehen habe, denke ich aber, dass du deine Listen-Klasse noch einmal komplett überdenken und neu schreiben solltest.
 

ioannis_m

Mitglied
Ich hab die ganze top-level Klasse SparseGraph als unnötig bzw. Schrott eingestuft, dem scheint nicht so zu sein. Die remove() Methode ist nicht zu Ende geschrieben. Die Listen im adj[] Array, bestehen nur aus einem int und einer Referenz zum nächsten Knoten. Auf der Suche also nach dem Knoten der gelöscht werden soll, brauche ich eine Referenz zum Knoten davor, damit ich die Referenz des letzteren dem Knoten danach zuweisen kann.

Java:
public class SparseGraph implements Graph {
   



    private int numberV, numberE;
    private boolean digraph;
    private class Node{
        int x; Node next;
        Node(int x, Node n){
            this.x = x; this.next = n;
        }
    }
    private Node adj[];
   
    public SparseGraph(int v, boolean flag) {
        this.numberV = v; digraph = flag;
        adj = new Node[v];
    }
    @Override
    public int getV() {
        return numberV;
    }

    @Override
    public int getE() {
        return numberE;
    }

    @Override
    public boolean directed() {
        return digraph;
    }

    @Override
    public void insert(Edge e) {
        int v = e.v; int w = e.w;
        adj[v] = new Node(w, adj[v]);
        if (!directed())adj[w] = new Node(v, adj[w]);
        numberE++;
    }

    @Override
    public void remove(Edge e) {
        int v = e.v; int w = e.w;
        AdjList adjList = getAdjList(v);
       
        for (adjList.beg();!adjList.end();adjList.next()){
            int from = adjList.next();
            if (from == w)
        }
    }

    @Override
    public boolean edge() {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public AdjList getAdjList(int v) {
        return new AdjLinkedList(v);
    }
        private class AdjLinkedList implements AdjList{
            private int v; private Node t;
            AdjLinkedList(int v) {
                this.v = v; t = null;
            }
            public int beg(){
                t = adj[v];
                return t == null ? -1 : t.x;
            }
            public int next(){
                if (t != null) t = t.next;
                return t == null ? -1 : t.x;
            }
            public boolean end(){
                return t == null;
            }
    }
}
 

Flown

Administrator
Mitarbeiter
Das wirkt irgendwie alles so nach Hausaufgabe. Kannst du bitte mal alle Klassen/Interfaces und die Problemstellung hier posten?
 

ioannis_m

Mitglied
:)
Meine letzte Hausaufgabe liegt Jahrzehnte zurück...

Ich gehe das Buch Algorithms in Java "Part 5 Graph Algorithms" von Robert Sedgewick durch. Alle Algorithmen basieren auf einem einfachen Interface, im Falle eines dünnbesetzten Graphen sieht die Klasse so aus (sie ist nicht fertig geschrieben weil remove() nicht in konstanter Zeit implementiert werden kann).

Die einzige Klasse die vielleicht noch fehlt wäre die

Java:
public class Edge {
    int v, w;
   
    Edge(int v, int w){
        this.v = v;
        this.w = w;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Hzrfa Objekte, Referenz Java Basics - Anfänger-Themen 5
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
O Warum bekommen wir nicht die Referenz vom zurückgegebenen Objekt? Java Basics - Anfänger-Themen 4
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
C Kopie oder Referenz ? Java Basics - Anfänger-Themen 5
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
Y Pointer / Referenz - Theorie Java Basics - Anfänger-Themen 3
H Referenz Objekt aufrufen Java Basics - Anfänger-Themen 12
D Uebergabe per Referenz Java Basics - Anfänger-Themen 2
O Referenz - toString Java Basics - Anfänger-Themen 9
S This-Referenz Java Basics - Anfänger-Themen 6
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
I Referenz auf Klasse als Rückgabewert Java Basics - Anfänger-Themen 7
P Datentypen LinkedList: Kopie behält Referenz? Java Basics - Anfänger-Themen 3
J Referenz und Instanzierung Java Basics - Anfänger-Themen 25
M Referenz geht bei Zwischenspeichern verloren (ArrayList) Java Basics - Anfänger-Themen 4
8 Referenz (Pointer, Zeiger) in Java Java Basics - Anfänger-Themen 9
O This-Referenz als Returnwert einer Methode? Java Basics - Anfänger-Themen 13
O This Referenz Java Basics - Anfänger-Themen 3
A top referenz bei queues Java Basics - Anfänger-Themen 1
J Rückgabe als Wert, keine Referenz Java Basics - Anfänger-Themen 3
Q Parameterübergabe - Objekt - Referenz Java Basics - Anfänger-Themen 5
C Dynamische Referenz & abstrakte Klassen Java Basics - Anfänger-Themen 3
V Frage zu Polymorphismus: Objekt der Subklasse in Referenz der Oberklasse Java Basics - Anfänger-Themen 4
T Aufgerufene Methode Inhalt der übergebenen Referenz Java Basics - Anfänger-Themen 5
B Referenz in Java Java Basics - Anfänger-Themen 5
C Referenz auf ein Objekt kopieren! Java Basics - Anfänger-Themen 2
J Methoden Referenz und Speicherplatz für Objekte reservieren Java Basics - Anfänger-Themen 2
M Wie komm ich an die Referenz eines Oberflächenelements Java Basics - Anfänger-Themen 2
A Klassenvariablen Referenz auf ein Objekt Java Basics - Anfänger-Themen 18
M Referenz Frage Java Basics - Anfänger-Themen 12
K OOP Probleme mit Objekt-Referenz in Methode Java Basics - Anfänger-Themen 6
W Die leidige Referenz-Frage Java Basics - Anfänger-Themen 9
B Arraycopy kopiert nur die Referenz?! Java Basics - Anfänger-Themen 3
S Speicheradresse auf die eine Referenz zeigt ausgeben Java Basics - Anfänger-Themen 12
E Compiler-Fehler kann Objekt-Referenz nicht erstellen Java Basics - Anfänger-Themen 3
B Referenz zu anderen Frame Java Basics - Anfänger-Themen 10
Blackskyliner Referenz ähnlicher Zugriff, aber wie? Java Basics - Anfänger-Themen 4
K Klassen this-Referenz und Klassen/Methodenaufruf Syntax Java Basics - Anfänger-Themen 3
C Referenz einer bereits instanziierten Klasse während des Programmablaufs Java Basics - Anfänger-Themen 16
H Objekt holen per Referenz als String. Java Basics - Anfänger-Themen 4
T Referenz einer Variable übergeben Java Basics - Anfänger-Themen 3
S Datentypen Objekt Integer Referenz Java Basics - Anfänger-Themen 5
B Referenz auf Referenz Java Basics - Anfänger-Themen 3
Luk10 Problem mit Singleton bzw statischer Referenz! Java Basics - Anfänger-Themen 16
H ArrayList Zugriffe per Referenz verkürzen? Java Basics - Anfänger-Themen 9
B Static Referenz auf Non-static Feld Java Basics - Anfänger-Themen 6
Luk10 Sinn von Instanzierung ohne Referenz Java Basics - Anfänger-Themen 7
C0FFEE Referenz auf Methode übergeben Java Basics - Anfänger-Themen 2
aze NullpointerException :Null Referenz anzeigen lassen Java Basics - Anfänger-Themen 2
D Fehlen einer Referenz auf Objekt Java Basics - Anfänger-Themen 14
N this.referenz erläuterung Java Basics - Anfänger-Themen 2
K Attribut als Referenz auf Objekt Java Basics - Anfänger-Themen 8
K 3 Threads bearbeiten 1 Referenz: Ich versteh's nicht... Java Basics - Anfänger-Themen 2
P OOP-Theorie-Frage: Referenz auf Objekt Java Basics - Anfänger-Themen 27
D Referenz auf Objekt Java Basics - Anfänger-Themen 5
P Methode BigInteger-Array übergeben als Referenz Java Basics - Anfänger-Themen 6
U null-referenz Java Basics - Anfänger-Themen 26
deetee Problem mit Referenz auf Map Java Basics - Anfänger-Themen 5
G Interface referenz probleme Java Basics - Anfänger-Themen 10
V Return - JA/NEIN - Parameterübergabe Array (Referenz) Java Basics - Anfänger-Themen 7
D enum und Referenz der umgebenden Klasse Java Basics - Anfänger-Themen 2
C Referenz Java Basics - Anfänger-Themen 11
A ClassNotFoundException: Referenz nicht aktualisiert Java Basics - Anfänger-Themen 2
P Textarea aktualisieren, Referenz fehlt Java Basics - Anfänger-Themen 4
T Die this Referenz Java Basics - Anfänger-Themen 21
C Größe einer Referenz ? Java Basics - Anfänger-Themen 16
D Array reverse Problem, da Referenz nicht auf tmpArray zeigt Java Basics - Anfänger-Themen 4
G primitive Datentypen als Referenz an eine Methode übergeben Java Basics - Anfänger-Themen 2
G Wie Referenz auf Objekt übergebn Java Basics - Anfänger-Themen 8
P Objekte als Attribut: Referenz oder Kopie? Java Basics - Anfänger-Themen 3
G Parameterübergabe als Referenz bzw. als Kopie Java Basics - Anfänger-Themen 4
S Prüfen, ob null Referenz? Java Basics - Anfänger-Themen 2
G Referenz-Problem Java Basics - Anfänger-Themen 3
J Referenz problem Java Basics - Anfänger-Themen 12
D tiefergehende Java-Referenz Java Basics - Anfänger-Themen 3
M Referenz auf Membervariable Java Basics - Anfänger-Themen 5
G Objektübergabe als Referenz bei RMI Java Basics - Anfänger-Themen 2
J referenz auf noch nicht erzeugte objekte? Java Basics - Anfänger-Themen 2
G Rückgabe einer Kopie bzw. Referenz Java Basics - Anfänger-Themen 22
M Parameter als Referenz übergeben Java Basics - Anfänger-Themen 5
F Referenz Pointer oder doch nochmal neu suchen ? Java Basics - Anfänger-Themen 2
D Unterschied zwischen Referenz auf Objekt/Instanz von Objekt Java Basics - Anfänger-Themen 9
K Referenz auf Funktion Java Basics - Anfänger-Themen 6
J Referenz auf ein Objekt Java Basics - Anfänger-Themen 2
javasdann Referenz als String ausgeben. Java Basics - Anfänger-Themen 10
B Was ist eine Referenz? Java Basics - Anfänger-Themen 6
Z Zugriff auf Attribute nach Zuweisung einer Referenz Java Basics - Anfänger-Themen 8
L Referenz vs. Kopie Java Basics - Anfänger-Themen 2
G Zeiger/Referenz auf int- Variable Java Basics - Anfänger-Themen 5
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
Cassy3 Binärer Suchbaum Knoten rauslöschen Java Basics - Anfänger-Themen 1
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
Y Wie greift man auf die Knoten in einem Binärbaum zu? Java Basics - Anfänger-Themen 5
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
S Binärbäume knoten zählen Java Basics - Anfänger-Themen 16
T Collections Methode (Knoten hinzufügen) für Graphen Java Basics - Anfänger-Themen 32
H Knoten-Reihenfolge einer LinkedList invertieren Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben