blob: 35b975ff5fa89b2d91d22ad01ef7c3b8bb75ac82 (
plain)
- package com.example.portfolio3;
- // origin: <https://moodle.ruc.dk/course/section.php?id=211877>
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.HashSet;
- /// 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);
- }
|