package com.interview.basics.model.graph;
/**
* Created_By: stefanie
* Date: 15-1-14
* Time: 下午9:56
*/
public class MatrixGraph {
boolean ordered = true;
int V;
int[][] adj;
public MatrixGraph(int vertexNumber, boolean ordered){
this.ordered = ordered;
this.V = vertexNumber;
adj = new int[vertexNumber][vertexNumber];
}
public MatrixGraph(int[][] graph, boolean ordered){
this.ordered = ordered;
this.V = graph.length;
adj = graph;
}
public void addDirectEdge(int v, int w, int weight){
adj[v][w] = weight;
}
public void addEdge(int v, int w, int weight){
addDirectEdge(v, w, weight);
if(!ordered)
addDirectEdge(w, v, weight);
}
public int[] adj(int v){
return adj[v];
}
public int getWeight(int v, int w){
return adj[v][w];
}
public void print(){
for(int i = 0; i < V; i++){
System.out.print(i + "\t");
if(adj(i) != null){
for(int j : adj(i)){
System.out.print(j + " ");
}
}
System.out.println();
}
}
}