Knoten mit kleinster Distanz finden

NudelZ

Mitglied
Moin moin,
und zwar habe ich ein kleines Problem mit einem Programm, was einem die kürzeste Distanz anzeigen soll. Nun habe ich bereits ein Fenster, wo eine Karte aufgezeichnet wird. Ich habe Knoten, welche in einer HashMap gespeichert sind. Nun möchte ich, dass wenn ein Nutzer auf die Karte klickt, der Knoten ausgewählt wird, welcher die kürzeste euklidische Distanz zum Klick hat.
Hier noch der Code vom Knoten:
Java:
import java.util.ArrayList;
import java.util.List;

public class Node {
    private int id;
    private double x;
    private double y;
    private boolean visited;
    private List<Edges> edges = new ArrayList<Edges>();

    public Node(final int id,final double x,final double y,final boolean visited){
        this.id=id;
        this.x=x;
        this.y=y;
        this.visited=visited;
    }
  
    public int getId(){
        return this.id;
    }
  
    public double getX(){
        return this.x;
    }
  
    public double getY(){
        return this.y;
    }
  
    public boolean getVisited(){
        return visited;
    }
  
    public void setVisited(final boolean visited){
        this.visited=visited;
    }
  
    public void setEdge(Edges e){
        edges.add(e);
    }
  
    public List<Edges> getEdges(){
        return this.edges;
    }
  
}

Ich bin für jeden Denkanstoß dankbar!
 
Zuletzt bearbeitet von einem Moderator:

Flown

Administrator
Mitarbeiter
Über die Liste aller Knoten iterieren, euklidsche Distanz berechenen, Minimum merken. Wo ist das Problem?
 

dayaftereh

Top Contributor
Wie viel Knoten hast du ? Wenn es nur 100 sind, dann einfach drüber laufen und den Knoten mit der kleinsten Distanz suchen. Falls es 10 Mio. Dann musst du sie in Boxen auf Teilen . Schau mal nach AABB Bäumen.
 

Ähnliche Java Themen

Neue Themen


Oben