Exemple #1
0
        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();
        }
Exemple #2
0
 public void AddEdge(Vertex <T> a, Vertex <T> b)
 {
     b.AddNeighbors(a);
     a.AddNeighbors(b);
 }