diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-04-27 16:43:17 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-04-27 16:43:22 +0200 |
commit | 8535a9ca92539bf12ec00cac7a4e47be604f0283 (patch) | |
tree | 7a1fb082d5218e18a0186d97a8ed1f7dd87fd41f /src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java | |
parent | d104247b8bcdb2a38b680ac54e7ceb2bba155c0e (diff) |
simplify path structure
Diffstat (limited to 'src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java')
-rw-r--r-- | src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java b/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java new file mode 100644 index 0000000..c2cf433 --- /dev/null +++ b/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java @@ -0,0 +1,52 @@ +package com.example.portfolio3; + +// origin: <https://moodle.ruc.dk/course/section.php?id=211877> + +import java.util.*; + +/// foo +abstract class AbstractGraph implements Graph{ + + /// foo + AbstractGraph() {} + + /// foo + private HashMap<String,Vertex> vertexMap=new HashMap<>(); + + /// foo + private HashSet<Vertex> vertexSet=new HashSet<>(); + + /// foo + /// @param s foo + /// @return Vertex + public Vertex vertex(String s){ + if(vertexMap.containsKey(s))return vertexMap.get(s); + Vertex v=new Vertex(s); + vertexMap.put(s,v); + vertexSet.add(v); + return v; + } + + /// foo + public void insertEdge(String v, String u, int w){ + insertEdge(vertex(v),vertex(u),w); + } + + /// foo + public Collection<Vertex> vertices() { return vertexSet; } + + /// foo + /// @param v1 foo + /// @param v2 foo + /// @param w foo + abstract public void insertEdge(Vertex v1, Vertex v2, int w); + + /// foo + abstract public Collection<Edge> edges(); + + /// foo + abstract public Collection<Edge> outEdge(Vertex v); + + /// foo + abstract public Integer getWeight(Vertex v1, Vertex v2); +} |