static void Main(string[] args) { Vertex w2 = new Vertex(2); Vertex w1 = new Vertex(1, new List <Vertex>() { w2 }); Vertex w3 = new Vertex(3, new List <Vertex>() { w2 }); Vertex w4 = new Vertex(4, new List <Vertex>() { w2 }); w2.AddNeighbors(w1, w3, w4); Graph graph1 = new Graph(w1, w2, w3, w4); graph1.DFS(); graph1.BFS(); int[,] tab1 = { { 0, 6, 0, 0, 0, 0, 0, 9, 0 }, { 6, 0, 9, 0, 0, 0, 0, 11, 0 }, { 0, 9, 0, 5, 0, 6, 0, 0, 2 }, { 0, 0, 5, 0, 9, 16, 0, 0, 0 }, { 0, 0, 0, 9, 0, 10, 0, 0, 0 }, { 0, 0, 6, 0, 10, 0, 2, 0, 0 }, { 0, 0, 0, 16, 0, 2, 0, 1, 6 }, { 9, 11, 0, 0, 0, 0, 1, 0, 5 }, { 0, 0, 2, 0, 0, 0, 6, 5, 0 } }; Graph graph2 = new Graph(tab1); graph2.Dijkstra(0); int[,] tab2 = { { 0, 5, 9999, 10 }, { 9999, 0, 3, 9999 }, { 9999, 9999, 0, 1 }, { 9999, 9999, 9999, 0 } }; Graph graph3 = new Graph(tab2); graph3.FloydWarshall(); Vertex w5 = new Vertex(1); Vertex w6 = new Vertex(2); Vertex w7 = new Vertex(3); Vertex w8 = new Vertex(4); Edge k1 = new Edge(2, w5, w8); Edge k2 = new Edge(4, w5, w6); Edge k3 = new Edge(1, w5, w7); w5.AddEdges(k1, k2, k3); Edge k4 = new Edge(4, w6, w5); Edge k5 = new Edge(2, w6, w7); w6.AddEdges(k4, k5); Edge k6 = new Edge(2, w7, w6); Edge k7 = new Edge(1, w7, w5); Edge k8 = new Edge(7, w7, w8); w7.AddEdges(k6, k7, k8); Edge k9 = new Edge(7, w8, w7); Edge k0 = new Edge(2, w8, w5); w8.AddEdges(k9, k0); Graph graf4 = new Graph(w5, w6, w7, w8); graf4.Prime(); }
public void AddEdge(Vertex <T> a, Vertex <T> b) { b.AddNeighbors(a); a.AddNeighbors(b); }