예제 #1
0
        static void Main(string[] args)
        {
            Algorithmus algorithmus = new Algorithmus();

            Console.WriteLine("CycleCancelling \n");
            algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/Kostenminimal1.txt", "cycleCancelling", true);
            // algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/Kostenminimal2.txt", "cycleCancelling", true);
            // algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/Kostenminimal3.txt", "cycleCancelling",true);
            // algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/Kostenminimal4.txt", "cycleCancelling", true);

            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/KostenminimalTest1.txt", "cycleCancelling", true);
            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/KostenminimalTest2.txt", "cycleCancelling", true);
            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/KostenminimalTest3.txt", "cycleCancelling", true);
            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/KostenminimalTest4.txt", "cycleCancelling", true);


            Console.WriteLine("SuccessiveShortestPath \n");
            algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/Kostenminimal1.txt", "successiveShortestPath", true);
            // algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/Kostenminimal2.txt", "successiveShortestPath", true);
            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/Kostenminimal3.txt", "successiveShortestPath", true);
            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/Kostenminimal4.txt", "successiveShortestPath", true);

            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/KostenminimalTest1.txt", "successiveShortestPath", true);
            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/KostenminimalTest2.txt", "successiveShortestPath", true);
            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/KostenminimalTest3.txt", "successiveShortestPath", true);
            //algorithmus.zeitOfAlgorithmus(@"../../KostenminimalFluss/KostenminimalTest4.txt", "successiveShortestPath", true);

            Console.WriteLine("\n");
            Console.ReadLine();
        }
예제 #2
0
        public void Berechne_Preise_1__2_erwarte_1_Preis()
        {
            TreeItem treeItem = new TreeItem()
            {
                AktuellerBuchSatz = new List <int>()
                {
                    1
                },
                RestBuecher = new List <int>()
                {
                    2
                },
                BuecherSaetze = new List <TreeItem>()
                {
                    new TreeItem()
                    {
                        AktuellerBuchSatz = new List <int>()
                        {
                            2
                        },
                        RestBuecher   = new List <int>(),
                        BuecherSaetze = new List <TreeItem>()
                    }
                }
            };

            List <double> expected = new List <double>()
            {
                16
            };

            List <double> actual = Algorithmus.Berechne_Preise(treeItem, new List <double>());

            Equalidator.AreEqual(actual, expected);
        }
예제 #3
0
        static void Main(string[] args)
        {
            Algorithmus algorithmus = new Algorithmus();

            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_2_1.txt","prim");
            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_2_1.txt", "Kruskal");

            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_2_2.txt", "prim");
            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_2_2.txt", "Kruskal");

            algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_2.txt", "prim");
            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_2.txt", "Kruskal");

            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_20.txt", "prim");
            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_20.txt", "Kruskal");

            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_200.txt", "prim");
            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_1_200.txt", "Kruskal");

            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_10_20.txt", "prim");
            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_10_20.txt", "Kruskal");

            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_10_200.txt", "prim");
            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_10_200.txt", "Kruskal");

            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_100_200.txt", "prim");
            //algorithmus.zeitOfAlgorithmus(@"../../MST/G_100_200.txt", "Kruskal");


            Console.WriteLine("\n");
            Console.ReadLine();
        }
예제 #4
0
파일: Program.cs 프로젝트: ly05010419/TSP
        static void Main(string[] args)
        {
            Algorithmus algorithmus = new Algorithmus();

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10_1.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10_1.txt", "DoubleTree");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10_1.txt", "bruteforce");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10_1.txt", "branchUndBound");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10.txt","Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10.txt", "DoubleTree");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10.txt", "bruteforce");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10.txt", "branchUndBound");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10e.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10e.txt", "DoubleTree");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10e.txt", "bruteforce");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_10e.txt", "branchUndBound");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_12.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_12.txt", "DoubleTree");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_12.txt", "bruteforce");
            algorithmus.zeitOfAlgorithmus(@"../../TSP/K_12.txt", "branchUndBound");


            // algorithmus.zeitOfAlgorithmus(@"../../TSP/K_12e.txt", "Neighbor");
            // algorithmus.zeitOfAlgorithmus(@"../../TSP/K_12e.txt", "DoubleTree");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_12e.txt", "bruteforce");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_12e.txt", "branchUndBound");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_15.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_15.txt", "DoubleTree");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_15e.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_15e.txt", "DoubleTree");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_20.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_20.txt", "DoubleTree");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_30.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_30.txt", "DoubleTree");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_50.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_50.txt", "DoubleTree");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_70.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_70.txt", "DoubleTree");

            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_100.txt", "Neighbor");
            //algorithmus.zeitOfAlgorithmus(@"../../TSP/K_100.txt", "DoubleTree");

            Console.WriteLine("\n");
            Console.ReadLine();
        }
예제 #5
0
        static void Main(string[] args)
        {
            Algorithmus algorithmus = new Algorithmus();

            algorithmus.zeitOfAlgorithmus(@"../../fluss/Fluss.txt", "fordFulkerson", 0, 7, true);
            algorithmus.zeitOfAlgorithmus(@"../../fluss/Fluss2.txt", "fordFulkerson", 0, 7, true);
            algorithmus.zeitOfAlgorithmus(@"../../fluss/G_1_2.txt", "fordFulkerson", 0, 7, true);


            Console.WriteLine("\n");
            Console.ReadLine();
        }
        public void Berechne_Bestpreis_1_2_2_erwarte_15_2()
        {
            List <int> buecherListe = new List <int>()
            {
                1, 2, 2
            };

            double expected = 23.2;

            double actual = Algorithmus.Berechne_Bestpreis(buecherListe);

            Equalidator.AreEqual(actual, expected);
        }
        public void Berechne_Preis_fuer_Tuple_4_Erwarte_25_6()
        {
            List <int> tuple = new List <int>()
            {
                1, 2, 3, 4
            };

            double expected = 25.6;

            double actual = Algorithmus.Berechne_Preis_fuer_Tuple(tuple);

            Equalidator.AreEqual(actual, expected);
        }
        public void Berechne_Preis_fuer_Tuple_5_Erwarte_30_0()
        {
            List <int> tuple = new List <int>()
            {
                1, 2, 3, 4, 5
            };

            double expected = 30.0;

            double actual = Algorithmus.Berechne_Preis_fuer_Tuple(tuple);

            Equalidator.AreEqual(actual, expected);
        }
        public void Berechne_Bestpreis_1_2_3_4_5_1_2_3_4_5_3_4_5_erwarte_81_2()
        {
            List <int> buecherListe = new List <int>()
            {
                1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 3, 4, 5
            };

            double expected = 81.2;

            double actual = Algorithmus.Berechne_Bestpreis(buecherListe);

            Equalidator.AreEqual(actual, expected);
        }
        public void Berechne_Preis_fuer_Tuple_2_Erwarte_15_2()
        {
            List <int> tuple = new List <int>()
            {
                1, 2
            };

            double expected = 15.2;

            double actual = Algorithmus.Berechne_Preis_fuer_Tuple(tuple);

            Equalidator.AreEqual(actual, expected);
        }
예제 #11
0
        public void Berechne_Bestpreis_1_erwarte_8()
        {
            List <int> buecherListe = new List <int>()
            {
                1
            };

            double expected = 8.0;

            double actual = Algorithmus.Berechne_Bestpreis(buecherListe);

            Equalidator.AreEqual(actual, expected);
        }
예제 #12
0
        public void Finde_Tuple_Buecherliste_1_Laenge_5()
        {
            List <int> buecherliste = new List <int>()
            {
                1
            };
            Finde_Tuple_Ergebnis actual   = Algorithmus.Finde_Tuple(buecherliste, 5);
            Finde_Tuple_Ergebnis expected = new Finde_Tuple_Ergebnis(new List <int>()
            {
                1
            }, new List <int>());

            Equalidator.AreEqual(expected, actual);
        }
예제 #13
0
        public void Berechne_Pfade_1_2_Laenge_5()
        {
            List <int> buecherliste = new List <int>()
            {
                1, 2
            };

            List <TreeItem> actual   = Algorithmus.Berechne_Pfade(buecherliste, 5);
            List <TreeItem> expected = new List <TreeItem>();

            expected.Add(new TreeItem()
            {
                AktuellerBuchSatz = new List <int>()
                {
                    1, 2
                },
                BuecherSaetze = new List <TreeItem>(),
                RestBuecher   = new List <int>()
            });

            expected.Add(new TreeItem()
            {
                AktuellerBuchSatz = new List <int>()
                {
                    1
                },
                RestBuecher = new List <int>()
                {
                    2
                },
                BuecherSaetze = new List <TreeItem>()
                {
                    new TreeItem()
                    {
                        AktuellerBuchSatz = new List <int>()
                        {
                            2
                        },
                        BuecherSaetze = new List <TreeItem>(),
                        RestBuecher   = new List <int>()
                    }
                }
            });

            Equalidator.AreEqual(actual, expected);
        }
예제 #14
0
        public void Finde_Tuple_Buecherliste_1_2_3_4_5_1_2_3_4_5_1_Laenge_4()
        {
            List <int> buecherliste = new List <int>()
            {
                1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1
            };
            Finde_Tuple_Ergebnis actual   = Algorithmus.Finde_Tuple(buecherliste, 4);
            Finde_Tuple_Ergebnis expected =
                new Finde_Tuple_Ergebnis
                (
                    new List <int>()
            {
                1, 2, 3, 4
            },
                    new List <int>()
            {
                5, 1, 2, 3, 4, 5, 1
            }
                );

            Equalidator.AreEqual(expected, actual);
        }
        static void Main(string[] args)
        {
            Algorithmus algorithmus = new Algorithmus();

            //algorithmus.zeitOfAlgorithmus(@"../../Wege/Wege1.txt", "Dijkstra",2,0, true);
            //algorithmus.zeitOfAlgorithmus(@"../../Wege/Wege1.txt", "MooreBellmanFord", 2, 0, true);


            //algorithmus.zeitOfAlgorithmus(@"../../Wege/Wege2.txt", "MooreBellmanFord", 2, 0, true);


            //algorithmus.zeitOfAlgorithmus(@"../../Wege/Wege3.txt", "MooreBellmanFord", 2, 0, true);

            algorithmus.zeitOfAlgorithmus(@"../../Wege/G_1_2.txt", "Dijkstra", 0, 1, true);
            algorithmus.zeitOfAlgorithmus(@"../../Wege/G_1_2.txt", "Dijkstra", 0, 1, false);
            algorithmus.zeitOfAlgorithmus(@"../../Wege/G_1_2.txt", "MooreBellmanFord", 0, 1, true);
            algorithmus.zeitOfAlgorithmus(@"../../Wege/G_1_2.txt", "MooreBellmanFord", 0, 1, false);


            Console.WriteLine("\n");
            Console.ReadLine();
        }
예제 #16
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcher Algorithmus?");
            Console.WriteLine("  Schleife ( {0} )", (int)Algorithmus.Schleife);
            Console.WriteLine("  Gauss'sche Formel ( {0} )", (int)Algorithmus.Gauss);
            Console.WriteLine("  Rekursion ( {0} )", (int)Algorithmus.Rekursion);

            Console.Write("? ");
            Algorithmus algorithmus = (Algorithmus)Convert.ToInt32(Console.ReadLine());

            Console.Write("Zahl: ");
            int zahl = Convert.ToInt32(Console.ReadLine());

            IAlgorithmus algorithm = null;

            // Algorithmus Objekt erzeugen
            switch (algorithmus)
            {
            case Algorithmus.Schleife:
                algorithm = new SchleifenAlgorithmus();
                break;

            case Algorithmus.Gauss:
                algorithm = new GaussAlgorithmus();
                break;

            case Algorithmus.Rekursion:
                algorithm = new RecursionAlgorithmus();
                break;
            }

            // Berechnung
            int summe = algorithm.Summe(zahl);

            // Ausgabe
            Console.WriteLine($"Summe der Zahlen bis {zahl} ist {summe}");
        }
예제 #17
0
        static void Main(string[] args)
        {
            Algorithmus algorithmus = new Algorithmus();

            algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/Graph1.txt", true);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/Graph1.txt",false);

            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/Graph2.txt",true);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/Graph2.txt",false);

            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/Graph3.txt",true);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/Graph3.txt",false);

            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/Graph4.txt",true);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/Graph4.txt",false);


            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/test1.txt", true);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/test1.txt", false);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/test2.txt",true);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/test2.txt", false);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/test3.txt",true);
            //algorithmus.BFS_und_TFS(@"../../BreitensucheUndTiefensuche/test3.txt", false);
        }