Newer
Older
package INF102.lab5.graph;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class AdjacencySet<V> implements IGraph<V> {
private Set<V> vertices;
private Map<V, Set<V>> adjacencyList;
vertices = new HashSet<>();
adjacencyList = new HashMap<>();
public Iterable<V> vertices() {
return Collections.unmodifiableSet(vertices);
}
@Override
public void addNode(V node) {
throw new UnsupportedOperationException("Implement me :)");
}
@Override
public void removeNode(V node) {
throw new UnsupportedOperationException("Implement me :)");
}
@Override
public void addEdge(V u, V v) {
throw new UnsupportedOperationException("Implement me :)");
}
@Override
public void removeEdge(V u, V v) {
throw new UnsupportedOperationException("Implement me :)");
}
@Override
public boolean hasNode(V node) {
throw new UnsupportedOperationException("Implement me :)");
}
@Override
public boolean adjacent(V u, V v) {
return adjacencyList.get(u).contains(v);
public Set<V> neighbours(V node) {
return Collections.unmodifiableSet(adjacencyList.get(node));
}
@Override
public String toString() {
StringBuilder build = new StringBuilder();
for (V node : adjacencyList.keySet()) {
Set<V> nodeList = adjacencyList.get(node);