Advertisement
Guest User

Graph Hamiltonian

a guest
Dec 23rd, 2017
743
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.16 KB | None | 0 0
  1. package circuits;
  2.  
  3. import java.util.List;
  4. import java.util.ArrayList;
  5.  
  6. public class Graph {
  7.     private int vCount;
  8.     private int[][] adj;
  9.    
  10.     public int getvCount() {
  11.         return vCount;
  12.     }
  13.  
  14.     public int[][] getAdj() {
  15.         return adj;
  16.     }
  17.  
  18.     public Graph(int vCount) {
  19.         this.vCount = vCount;
  20.         adj = new int[vCount][vCount];
  21.         for (int i = 0; i < vCount; i++) {
  22.             for (int j = 0; j < vCount; j++) {
  23.                 if (i != j) {
  24.                     adj[i][j] = 0;
  25.                 }
  26.  
  27.             }
  28.         }
  29.     }
  30.  
  31.     public void addEdge(int i, int j) {
  32.         adj[i][j] = 1;
  33.     }
  34.  
  35.     public void removeEdge(int i, int j) {
  36.         adj[i][j] = 0;
  37.     }
  38.  
  39.     public boolean hasEdge(int i, int j) {
  40.         if (adj[i][j] != 0) {
  41.             return true;
  42.         }
  43.         return false;
  44.     }
  45.  
  46.     public List<Integer> neighbours(int vertex) {
  47.         List<Integer> edges = new ArrayList<Integer>();
  48.         for (int i = 0; i < vCount; i++)
  49.             if (hasEdge(vertex, i))
  50.                 edges.add(i);
  51.         return edges;
  52.     }
  53.  
  54.     public void printGraph() {
  55.         for (int i = 0; i < vCount; i++) {
  56.             List<Integer> edges = neighbours(i);
  57.             System.out.print(i + ": ");
  58.             for (int j = 0; j < edges.size(); j++) {
  59.                 System.out.print(edges.get(j) + " ");
  60.             }
  61.             System.out.println();
  62.         }
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement