Dijkstra Algorithmus funktioniert nicht

schleo13

Mitglied
Ich habe den Dijkstra Algorithmus implementiert und der letzte Wert in der Queue wird nicht
bearbeitet. Ich weiß wirklich nicht woran es liegt.
 

Anhänge

  • Program123.zip
    41,9 KB · Aufrufe: 5

mihe7

Top Contributor
Ich seh da keine Implementierung nur
Code:
                //TODO  Add you code here

                return new ArrayList<>(); // dummy, replace
 

schleo13

Mitglied
Java:
package lab;

import java.util.ArrayList;
import java.util.PriorityQueue;

public class GR {
ArrayList<Node> NodesList = new ArrayList<Node>();
PriorityQueue<Node> QR = null;
ArrayList<Node> Pfad = new ArrayList<Node>();

public GR(ArrayList<Node> N) {
    this.NodesList = N;
}

public PriorityQueue<Node> getQ(){
    return this.QR;
}
public void init(ArrayList<Node> NListe, Node Start) {
    for(Node N: NListe) {
        N.setDistanz(Double.POSITIVE_INFINITY);
        N.setVorgänger(null);
    }
    Start.setDistanz(0);
    this.QR = new PriorityQueue<Node>(NListe.size(), new Compi());
    QR.addAll(NListe);
}

public double distanzUp(Node u, Node v) {
    double alt = 0;
    alt =   u.getDistanz() + u.getStrecke(v);
    if(alt < v.getDistanz()) {
        v.setDistanz(alt);
        v.setVorgänger(u);
       
    }
    return alt;
}

public void Dijktstra(ArrayList<Node> gr, Node start) {
    init(gr, start);
   
    while(getQ().isEmpty() != true ) {
       
        Node u = getQ().poll();
        for(Node v : u.getNachbarn()) {
                distanzUp(u, v);   
        }}
   
   
}



public Node searchNode(ArrayList<Node> NL, String s) {
    for(Node n : NL) {
        if(n.Name.equals(s)) {
            return n;
        }
    }
    return null;}

public ArrayList<String> getKürzesteRoute(ArrayList<String> A, ArrayList<String>B, ArrayList<String> Data){
    String s = "[style=bold]";
    ArrayList<String> as = new ArrayList<String>();
    for(int i = 0; i <= Data.size()-1; i++) {
        for(int u = 0; u <= A.size()-1; u++)
        if(Data.get(i).contains(A.get(u)) && Data.get(i).contains(B.get(u))) {
            StringBuilder sb = new StringBuilder();
            sb.append(Data.get(i));
            sb.append(s);
            String sa = sb.toString();
            as.add(sa);
        }
        as.add(Data.get(i));
    }
    return as;
}
 

schleo13

Mitglied
Code:
package lab;

import java.util.ArrayList;

public class Node {
String Name = null;
double Zeit = 0;

ArrayList<Edge> EdgesList =  new ArrayList<Edge>();
double Distanz = 0;
Node Vorgänger = null;
double ZeitAllg = 0;

public Node(String na, double d) {
    this.Name = na;
    this.Zeit = d;
}



public void setEdges(Edge e){
    this.EdgesList.add(e);
}
public ArrayList<Edge> getEdges(){
    return this.EdgesList;
}
public void setZeitAllg(int i ) {
    this.ZeitAllg = i;
}
public double getZeitAllg() {
    return this.ZeitAllg;
}
public void setDistanz(double alt) {
    this.Distanz = alt;
}
public double getDistanz() {
    return this.Distanz;
}
public void setVorgänger(Node n) {
    this.Vorgänger = n;
}
public Node getVorgänger() {
    return this.Vorgänger;
}
public ArrayList<Node> getNachbarn(){
    ArrayList<Node> Nachbarn = new ArrayList<Node>();
    for(Edge k : getEdges()) {
        Nachbarn.add(k.Ziel);
    }
    return Nachbarn;
}
public double getStrecke( Node v) {
    for(Edge k : getEdges()) {
        if(k.Ziel.Name.equals(v.Name)) {
            return k.Gewicht;
        }
    }
    return -500;
}



}
 

schleo13

Mitglied
Code:
package lab;

import java.util.Comparator;

public class Compi implements Comparator<Node> {
   

    @Override
    public int compare(Node o1, Node o2) {
        if(o1.getDistanz() < o2.getDistanz()) {
        return -1;}
        if(o1.getDistanz() > o2.getDistanz()) {
            return 1;}
        else return 0;
       
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Dijkstra Algorithmus Hilfe!! Java Basics - Anfänger-Themen 9
U Meinung zum Dijkstra Algorithmus Java Basics - Anfänger-Themen 6
U Dijkstra Algorithmus Laufzeit Java Basics - Anfänger-Themen 3
M Dijkstra Algorithmus in Graphen auf mehrere verschiedene Knoten anwenden lassen Java Basics - Anfänger-Themen 11
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
B PriorityQueue im dijkstra Algorithmus implementieren Java Basics - Anfänger-Themen 4
S Dijkstra-Algoritmus Java Basics - Anfänger-Themen 7
Binary.Coder Tipp für Ein-/Ausgabe für Dijkstra Java Basics - Anfänger-Themen 6
K Dijkstra implementierung 2.0 Java Basics - Anfänger-Themen 19
T Dijkstra auf adjazenzmatrix Java Basics - Anfänger-Themen 7
K Algorithmus entwickeln Java Basics - Anfänger-Themen 1
laxla123 Eigenschaften eines Algorithmus (determiniert vs.. deterministisch) Java Basics - Anfänger-Themen 2
C Gewinnspiel erstellen mit Algorithmus Java Basics - Anfänger-Themen 3
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
H Minimax Algorithmus in Tic Tac Toe Java Basics - Anfänger-Themen 3
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
ohneInformatik; Trockentest Algorithmus, mathematischen Zusammenhang angeben Java Basics - Anfänger-Themen 3
M Minimax-Algorithmus Java Basics - Anfänger-Themen 17
mervanpolat Binary Search Algorithmus ausführen Java Basics - Anfänger-Themen 1
J Rekursiver Algorithmus Java Basics - Anfänger-Themen 9
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
S Algorithmus entwicklen, der zu einem gegebenen Datum die Jahreszeit ermittelt Java Basics - Anfänger-Themen 13
rosima26 Merge-Algorithmus Java Basics - Anfänger-Themen 53
C Ein Algorithmus soll schneller werden Java Basics - Anfänger-Themen 24
U Den Kuchen aufteilen - aber wie? (Rebalancing-Algorithmus) Java Basics - Anfänger-Themen 14
s_1895 Pseudocode Naiver Algorithmus Java Basics - Anfänger-Themen 17
H String verschlüsseln - eigener Algorithmus Java Basics - Anfänger-Themen 104
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
Düsseldorf2002 Testen meines Algorithmus Java Basics - Anfänger-Themen 1
D Primzahlen Rechner nach Eratostenes von Kyrene Algorithmus Java Basics - Anfänger-Themen 2
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Algorithmus java searchAll IKey Java Basics - Anfänger-Themen 4
S Algorithmus Datensätze einfügen wenn... Java Basics - Anfänger-Themen 26
KogoroMori21 MergeSort Algorithmus Java Basics - Anfänger-Themen 2
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
fendix Compiler-Fehler Algorithmus zur Bestimmung von Primzahlen Java Basics - Anfänger-Themen 7
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
G Algorithmus Graphen Java Basics - Anfänger-Themen 10
D Input/Output fehlerhafter Algorithmus zum Ersetzen von Array-Werten nach logischem Schema Java Basics - Anfänger-Themen 1
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
L Math.exp also eigenen Algorithmus Java Basics - Anfänger-Themen 2
Kirby.exe Algorithmus entwickeln Java Basics - Anfänger-Themen 37
M Algorithmus Max-Heap? Java Basics - Anfänger-Themen 3
I Labyrinth auf der Basis eines rekursiven Algorithmus Java Basics - Anfänger-Themen 27
CptK Best Practice Algorithmus nach jedem Schritt zum Visualisieren pausieren Java Basics - Anfänger-Themen 3
A Algorithmus effizienter machen Java Basics - Anfänger-Themen 1
V Algorithmus zur fortlaufenden Berechnung des duechscjnt Java Basics - Anfänger-Themen 1
O Labyrinth Algorithmus Java Basics - Anfänger-Themen 3
G Quicksort Algorithmus Java Basics - Anfänger-Themen 12
S Binäre-Suche Algorithmus Java Basics - Anfänger-Themen 1
D Algorithmus in Pseudocode mit log2(n) Operationen erstellen Java Basics - Anfänger-Themen 3
C Laufzeit eines Sortier-Algorithmus ermitteln Java Basics - Anfänger-Themen 4
H aufgabe java luhn algorithmus Java Basics - Anfänger-Themen 10
A Datenstruktur für Savings Algorithmus und Planung von kleinen Programmierprojekten Java Basics - Anfänger-Themen 1
J Algorithmus für eine Reihe implementieren Java Basics - Anfänger-Themen 2
N Denksportaufgabe durch Algorithmus lösen Java Basics - Anfänger-Themen 2
S Problem mit einem rekursivem FloodFill Algorithmus Java Basics - Anfänger-Themen 62
B Algorithmus Square und Multiply Java Basics - Anfänger-Themen 3
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
D Frage Boyer-Moore Algorithmus Java Basics - Anfänger-Themen 7
M Komplexität Algorithmus Java Basics - Anfänger-Themen 8
H Zeichen im algorithmus Java Basics - Anfänger-Themen 4
B Code Verständnisfragen - FLoyd Warshall Algorithmus Java Basics - Anfänger-Themen 1
B Algorithmus zum entmischen einer Zahlenfolge Java Basics - Anfänger-Themen 15
X Minimax-Algorithmus über alle Kanten möglich? - Kanten darstellen Java Basics - Anfänger-Themen 1
T Algorithmus zur Überprüfung eines binären Suchbaums Java Basics - Anfänger-Themen 2
K Best Practice Algorithmus für Berechnung von Zahlenreihenfolge Java Basics - Anfänger-Themen 12
M Simpler Algorithmus läuft extrem langsam. Java Basics - Anfänger-Themen 3
K Erste Schritte Brute Force Algorithmus Java Basics - Anfänger-Themen 2
L Frage zu BubbleSort Algorithmus Java Basics - Anfänger-Themen 2
B gibt es ein Stundenplan-Algorithmus? Java Basics - Anfänger-Themen 11
O Algorithmus-Problem Java Basics - Anfänger-Themen 5
P Euklidischer Algorithmus Java Basics - Anfänger-Themen 9
L Greates Commong Dividend - euklidischer Algorithmus, modulos not positive Java Basics - Anfänger-Themen 5
J Euklidischer Algorithmus Java Basics - Anfänger-Themen 1
S Quicksort Algorithmus Java Basics - Anfänger-Themen 2
B Rekursive Algorithmus schreiben Java Basics - Anfänger-Themen 8
V Algorithmus in einer Methode ausführen Java Basics - Anfänger-Themen 3
M Implementierung des Knuth-Morris-Pratt-Algorithmus Java Basics - Anfänger-Themen 0
M Dijkstras Algorithmus Java Basics - Anfänger-Themen 5
S Zusammenhang Datenstruktur/Algorithmus Java Basics - Anfänger-Themen 1
M Simulation - Algorithmus Java Basics - Anfänger-Themen 3
F Erste Schritte Hilfe beim Algorithmus finden Java Basics - Anfänger-Themen 8
D Algorithmus für Punkte auf einem Kreis Java Basics - Anfänger-Themen 0
D Algorithmus zu gegebener Laufzeit implementieren Java Basics - Anfänger-Themen 1
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
C Ideen für einen Algorithmus Java Basics - Anfänger-Themen 1
F Best Practice Algorithmus optimieren - Binaeruhr Java Basics - Anfänger-Themen 2
S Euklid Algorithmus zur Berechnung des GGTs Java Basics - Anfänger-Themen 2
L Welcher Algorithmus ist das ? Java Basics - Anfänger-Themen 9
J Rekursiver Horner-Schema-Algorithmus - Verstehe ich ihn richtig? Java Basics - Anfänger-Themen 2
O Java Zufalls-Verteil-Algorithmus Java Basics - Anfänger-Themen 3
P ganz simpler algorithmus Java Basics - Anfänger-Themen 3
C Sortieren ohne Algorithmus Java Basics - Anfänger-Themen 8
J Algorithmus: Grad von floating zu Grad/Minute/Sekunde Java Basics - Anfänger-Themen 3
A Text Verschriebung/Algorithmus(?) Java Basics - Anfänger-Themen 8
R Rekursionsformel für Laufzeit von Algorithmus Java Basics - Anfänger-Themen 3
E Algorithmus für kart. Produkt: als int [] Feld repräsentiert Java Basics - Anfänger-Themen 10
U Peterson Algorithmus Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben