예제 #1
0
        public Graf feszitoFa()
        {
            Graf fa = new Graf(this.csucsokSzama);

            List <int>  bejar      = new List <int>();
            Queue <int> kovetkezok = new Queue <int>();

            kovetkezok.Enqueue(0);
            bejar.Add(0);

            int aktualisCsucs;

            while (kovetkezok.Count > 0)
            {
                aktualisCsucs = kovetkezok.Dequeue();

                foreach (var item in elek)
                {
                    if (item.Csucs1 == aktualisCsucs && !(bejar.Contains(item.Csucs2)))
                    {
                        bejar.Add(item.Csucs2);
                        kovetkezok.Enqueue(item.Csucs2);
                        fa.Hozzaad(item.Csucs1, item.Csucs2);
                    }
                }
            }
            return(fa);
        }
예제 #2
0
        public Graf feszitofa()
        {
            Graf          fa    = new Graf(this.csucsokSzama);
            Queue <int>   que   = new Queue <int>();
            HashSet <int> order = new HashSet <int>();

            que.Enqueue(0);
            order.Add(0);

            do
            {
                Queue <int> bf = new Queue <int>();
                bf.Enqueue(que.Dequeue());

                foreach (var item in elek)
                {
                    if (item.Csucs1.Equals(bf.Peek()))
                    {
                        if (order.Contains(item.Csucs2))
                        {
                            order.Add(item.Csucs2);
                            que.Enqueue(item.Csucs2);
                            fa.Hozzaad(item.Csucs1, item.Csucs2);
                        }
                    }
                }
            } while (que.Count != 0);

            return(fa);
        }
예제 #3
0
        public Graf FeszitoFa(int kezdopont)
        {
            Graf          fa        = new Graf(this.csucsokSzama);
            HashSet <int> bejart    = new HashSet <int>();
            Queue <int>   kovetkezo = new Queue <int>();

            kovetkezo.Enqueue(0);
            bejart.Add(0);
            while (kovetkezo.Count > 0)
            {
                kezdopont = kovetkezo.Dequeue();
            }
            foreach (El el in this.elek)
            {
                if (el.Csucs1 == kezdopont)
                {
                    if (!bejart.Contains(el.Csucs2))
                    {
                        kovetkezo.Enqueue(el.Csucs2);
                        bejart.Add(el.Csucs2);
                        fa.Hozzaad(el.Csucs1, el.Csucs2);
                    }
                }
            }
            return(fa);
        }
예제 #4
0
        public Graf feszitoFa()
        {
            Graf       fa         = new Graf(this.csucsokSzama);
            List <int> bejart     = new List <int>();
            List <int> kovetkezok = new List <int>();

            kovetkezok.Add(0);
            bejart.Add(0);

            int k;

            Console.WriteLine("Feszítőfa");
            while (kovetkezok.Count != 0)
            {
                k = kovetkezok[0];
                kovetkezok.RemoveAt(0);
                Console.WriteLine(k);
                foreach (var el in this.elek)
                {
                    if (el.Csucs1 == k)
                    {
                        if (!bejart.Contains(el.Csucs2))
                        {
                            bejart.Add(el.Csucs2);
                            kovetkezok.Add(el.Csucs2);
                            fa.Hozzaad(el.Csucs1, el.Csucs2);
                        }
                    }
                }
            }
            return(fa);
        }
예제 #5
0
        public Graf Feszitofa(int kezdopont)
        {
            Graf fa = new Graf(this.csucsokSzama);



            HashSet <int> bejart     = new HashSet <int>();
            Queue <int>   kovetkezok = new Queue <int>();


            kovetkezok.Enqueue(0);
            bejart.Add(0);

            while (kovetkezok.Count > 0)
            {
                kezdopont = kovetkezok.Dequeue();
            }

            foreach (var item in elek)
            {
                if (item.Csucs1 == kezdopont)
                {
                    if (!bejart.Contains(item.Csucs2))
                    {
                        kovetkezok.Enqueue(item.Csucs2);
                        bejart.Add(item.Csucs2);
                        fa.Hozzaad(item.Csucs1, item.Csucs2);
                    }
                }
            }
            return(fa);
        }
예제 #6
0
        public Graf Feszitofa()
        {
            var fa = new Graf(this.csucsokSzama);

            var bejart     = new HashSet <int>();
            var kovetkezok = new Queue <int>();

            kovetkezok.Enqueue(0);
            bejart.Add(0);

            while (kovetkezok.Count != 0)
            {
                var k = kovetkezok.Dequeue();

                foreach (var el in elek)
                {
                    if (el.Csucs1 == k)
                    {
                        if (!bejart.Contains(el.Csucs2))
                        {
                            bejart.Add(el.Csucs2);
                            kovetkezok.Enqueue(el.Csucs2);
                            fa.Hozzaad(el.Csucs1, el.Csucs2);
                        }
                    }
                }
            }
            return(fa);
        }
예제 #7
0
        public Graf feszitoFa()
        {
            Graf fa = new Graf(this.csucsokSzama);

            HashSet <int> csucssorrend = new HashSet <int>();
            Queue <int>   elem         = new Queue <int>();

            elem.Enqueue(0);
            csucssorrend.Add(0);

            do
            {
                Queue <int> elozo = new Queue <int>();
                elozo.Enqueue(elem.Dequeue());

                foreach (var item in elek)
                {
                    if (item.Csucs1.Equals(elozo.Peek()))
                    {
                        if (csucssorrend.Contains(item.Csucs2))
                        {
                            csucssorrend.Add(item.Csucs2);
                            elem.Enqueue(item.Csucs2);

                            fa.Hozzaad(item.Csucs1, item.Csucs2);
                        }
                    }
                }
            } while (elem.Count != 0);


            return(fa);
        }
예제 #8
0
        public Graf Feszitofa(int a)
        {
            Graf          g         = new Graf(csucsokSzama);
            HashSet <int> eddig     = new HashSet <int>();
            Queue <int>   kovetkezo = new Queue <int>();

            kovetkezo.Enqueue(0);
            eddig.Add(0);

            while (kovetkezo.Count > 0)
            {
                a = kovetkezo.Dequeue();
            }

            foreach (var item in elek)
            {
                if (item.Csucs1 == a)
                {
                    if (!eddig.Contains(item.Csucs2))
                    {
                        kovetkezo.Enqueue(item.Csucs2);
                        eddig.Add(item.Csucs2);
                        g.Hozzaad(item.Csucs1, item.Csucs2);
                    }
                }
            }
            return(g);
        }
예제 #9
0
        public Graf Feszitofa()
        {
            var fa        = new Graf(this.csucsokSzama);
            var bejart    = new HashSet <int>();
            var kovetkezo = new Queue <int>();

            kovetkezo.Enqueue(0);

            bejart.Add(0);

            while (kovetkezo.Count > 0)
            {
                var k = kovetkezo.Dequeue();
                Console.WriteLine(this.csucsok[k]);

                foreach (El el in this.elek)
                {
                    if ((el.Csucs1 == k) && (!bejart.Contains(el.Csucs2)))
                    {
                        bejart.Add(el.Csucs2);
                        kovetkezo.Enqueue(el.Csucs2);
                        fa.Hozzaad(el.Csucs1, el.Csucs2);
                    }
                }
            }
            return(fa);
        }
예제 #10
0
        public Graf feszitoFa()
        {
            var fa = new Graf(this.csucsokSzama);

            var bejart    = new HashSet <int>();
            var kovetkezo = new Queue <int>();

            kovetkezo.Enqueue(0);
            bejart.Add(0);

            while (kovetkezo.Count > 0)
            {
                int k = kovetkezo.Dequeue();

                foreach (var el in this.elek)
                {
                    if (el.Csucs1 == elek[k].Csucs1)
                    {
                        if (!bejart.Contains(el.Csucs2))
                        {
                            bejart.Add(el.Csucs2);
                            kovetkezo.Enqueue(el.Csucs1);
                            fa.Hozzaad(el.Csucs1, el.Csucs2);
                        }
                    }
                }
            }
            return(fa);
        }
예제 #11
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);
            Console.WriteLine("\nSzelessegi bejárás:");
            graf.SzelessegiBejar(2);
            Console.WriteLine("\n");
            Console.WriteLine("Melysegi bejaras:");
            graf.MelysegiBejar(1);
            Console.WriteLine("\n");
            Console.Write("Osszefuggo-e:");
            if (graf.Osszefuggo() == true)
            {
                Console.Write(" Igen");
            }
            else
            {
                Console.Write(" Nem");
            }

            Console.ReadLine();
        }
예제 #12
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine("Szélességi bejárás");
            graf.SzelessegiBejar(0);

            Console.WriteLine("Mélységi bejárás");
            graf.MelysegBejar(0);

            Console.WriteLine("Összefüggő-e? {0}", graf.Osszefuggo());

            var feszitoFa = graf.feszitoFa();

            Console.WriteLine(feszitoFa);



            Console.WriteLine(graf);
            Console.ReadLine();
        }
예제 #13
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.Unicode;
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);
            //graf.Torles(0, 1);
            //graf.Torles(0, 1);
            //graf.Torles(1, 2);

            Console.WriteLine(graf);

            graf.SzelessegiBejar(5);
            Console.WriteLine();
            graf.MelysegiBejar(5);
            Console.WriteLine();
            Console.WriteLine(graf.Osszefuggo());
            Console.WriteLine();
            Console.WriteLine(graf.Osszefuggo() ? graf.Feszitofa().ToString() : "Csak összefüggő gráfoknál értelmezünk feszítőfát");
            Console.WriteLine();
            foreach (var item in graf.MohoSzinezes())
            {
                Console.WriteLine($"Csúcs: {item.Key} - Szín: {item.Value}");
            }
            Console.WriteLine($"A gráf kromatikus száma: χ(G) = {graf.MohoSzinezes().Values.Distinct().Count()}");

            Console.ReadLine();
        }
예제 #14
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);

            Console.WriteLine("Szélesség Bejárasa 2. kezdőponttól");
            graf.szelessegiBejar(2);
            Console.WriteLine("Mélyeségi Bejárasa 2. kezdőponttól");
            graf.melysegiBejar(2);
            Console.WriteLine("Összefüggőség megvizsgálása: {0}", graf.osszefuggo());
            var feszitoFa = graf.feszitoFa();

            Console.WriteLine(feszitoFa);
            var sulyok = new Dictionary <int, CsucsAdat>(graf.Dijkstra(2));

            foreach (var i in sulyok)
            {
                Console.WriteLine(i.Key + " a csúcsba eljutni: " + i.Value.koltseg);
            }


            Console.ReadLine();
        }
예제 #15
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            graf.Torles(1, 2);
            graf.szelessegiBejar(1);
            Console.WriteLine();
            graf.szelessegiBejar(1);
            Console.WriteLine();

            if (graf.Osszefuggoseg())
            {
                Console.WriteLine("Összefüggő");
            }
            else
            {
                Console.WriteLine("Nem összefüggő");
            }
            Console.WriteLine(graf.MohoSzinezes());
            Console.WriteLine(graf);
            Console.ReadLine();
        }
예제 #16
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            // graf.Torol(0, 1);

            Console.WriteLine("A szélességi bejárás algoritmusa");
            graf.SzelessegiBejar(3);


            Console.WriteLine();
            Console.WriteLine("A mélységi bejárás bejárás algoritmusa");
            graf.MelysegiBejar(4);

            Console.WriteLine();
            Console.WriteLine("Összefüggőség");
            Console.WriteLine(graf.Osszefuggo(3));

            Console.WriteLine();
            Console.WriteLine("Feszítőfa");
            Console.WriteLine(graf.Feszitofa(3) + "\n");


            Console.WriteLine(graf);
            Console.ReadLine();
        }
예제 #17
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);
            graf.SzelessegiBejar(2);
            Console.WriteLine();
            graf.MelysegiBejar(1);
            Console.WriteLine(graf.Osszefuggo());
            Console.WriteLine(graf.Feszitofa());

            foreach (var item in graf.MohoSzinezes())
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
예제 #18
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);


            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);
            Console.WriteLine("Szélesség Bejárasa 0. kezdőponttól");
            graf.SzelessegiBejar(0);
            Console.WriteLine("Mélyeségi Bejárasa 0. kezdőponttól");
            graf.MelysegiBejar(0);
            Console.WriteLine("Összefüggő-e a gráf: {0}", graf.osszefuggo());
            var feszitofa = graf.FeszitoFa();

            Console.WriteLine(feszitofa);


            Console.ReadLine();
        }
예제 #19
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            graf.Torles(1, 2);
            graf.szelessegiBejar(1);
            Console.WriteLine();
            graf.szelessegiBejar(1);
            Console.WriteLine();

            if (graf.osszeFuggo())
            {
                Console.WriteLine("Összefüggő gráf");
            }
            else
            {
                Console.WriteLine("Nem összefüggő gráf");
            }
            Console.WriteLine(graf.feszitoFa());
            Console.WriteLine(graf);
            Console.ReadLine();
        }
예제 #20
0
        // Gráf.Feszitőfa(): Gráf
        // ---> Gráf típusú feszítőfa metódus
        public Graf Feszitofa()
        {
            // Új, kezdetben él nélküli gráf
            // fa = új Gráf(this.csúcsokSzáma)
            Graf fa = new Graf(this.csucsokSzama);

            // Bejáráshoz szükséges adatszerkezetek
            // bejárt = új üres Halmaz()
            // következők = új üres Sor()
            HashSet <int> bejart     = new HashSet <int>();
            Queue <int>   kovetkezok = new Queue <int>();

            // Tetszőleges, mondjuk 0 kezdőpont
            // következők.hozzáad(0)
            // bejárt.hozzáad(0)
            kovetkezok.Enqueue(0);
            bejart.Add(0);

            //// Szélességi bejárás
            //Ciklus amíg következők nem üres:
            while (kovetkezok.Count != 0)
            {
                // k = következők.kivesz()
                int k = kovetkezok.Dequeue();

                // Ciklus él = this.élek elemei:
                foreach (var el in this.elek)
                {
                    // Ha él.csúcs1 == aktuálisCsúcs:
                    if (el.Csucs1 == this.elek[k].Csucs1)
                    {
                        // Ha bejárt nem tartalmazza él.Csúcs2-t:
                        if (!bejart.Contains(el.Csucs2))
                        {
                            // bejárt.hozzáad(él.csúcs2)
                            // következők.hozzáad(él.Csúcs1)
                            bejart.Add(el.Csucs2);
                            kovetkezok.Enqueue(el.Csucs1);

                            // A fába is vegyük bele az élt
                            // fa.hozzáad(él.Csucs1, él.csúcs2)
                            fa.Hozzaad(el.Csucs1, el.Csucs2);
                        }
                    }
                }
            }
            // Az eredményül kapott gráf az eredeti gráf feszítőfája
            //vissza: fa
            return(fa);
        }
예제 #21
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            //graf.Hozzaad(0, 1);
            //graf.Hozzaad(1, 2);
            //graf.Hozzaad(0, 2);
            //graf.Hozzaad(2, 3);
            //graf.Hozzaad(3, 4);
            //graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);
            Console.ReadLine();
        }
예제 #22
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);
            Console.ReadLine();
            graf.szelbejar(0);
            graf.melysegbejaras(0);
            Console.WriteLine(graf.mohoSzin());
        }
예제 #23
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);
            Console.ReadLine();


            graf.Szelessegibejaras(0);
            graf.MelysegiBejaras(0);
            Console.WriteLine(graf.MohoSzinezes());
        }
예제 #24
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            graf.szelessegiBejar(1);

            var mst = graf.MinimumSpanningTreePrim(e => e.Tag).ToList();


            Console.WriteLine(graf);
            Console.ReadLine();
        }
예제 #25
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);
            graf.SzelessegiBejaras(4);
            Console.WriteLine();
            graf.MelysegiBejaras(4);
            Console.WriteLine("\n" + graf.Osszefuggo());
            Console.WriteLine("\n" + graf.Feszitofa());
            Console.ReadLine();
        }
예제 #26
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            //graf.torol(2);
            Console.WriteLine("szélességi bejárás");
            foreach (var item in graf.selsegBejaras(0))
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();

            Console.WriteLine("mélységi bejárás");
            foreach (var item in graf.mejsegibelyaras(0))
            {
                Console.WriteLine(item);
            }
            Console.WriteLine();
            Console.WriteLine((graf.bejarhato(0))? "a gráf bejárhtó" : "a gráf nem bejárhtó");
            Console.WriteLine();



            Console.WriteLine(graf);

            graf.feszitoFa();

            Console.WriteLine("fesziton fa");
            Console.WriteLine(graf);

            Console.ReadLine();
        }
예제 #27
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);

            Console.WriteLine("\n");
            Console.WriteLine("Szélességi:");
            graf.SzelessegiBejar(3);
            Console.WriteLine("\n");
            Console.WriteLine("Mélységi:");
            graf.MelysegiBejar(5);
            Console.WriteLine("\n");
            Console.Write("Összefüggőség:");
            if (graf.Osszefuggo() == true)
            {
                Console.WriteLine(" Összefüggő.");
            }
            else
            {
                Console.WriteLine(" Nem összefüggő.");
            }
            Console.WriteLine("\n");
            Console.WriteLine("Feszítőfa: ");
            graf.Feszitofa();
            Console.WriteLine("\n");
            Console.WriteLine("Mohoszinezes: ");
            //graf.Mohoszinezes()...;   HIBÁS

            Console.ReadLine();
        }
예제 #28
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine(graf);

            Console.WriteLine("SzélességiBejár");
            graf.SzelessegiBejar(3);

            Console.WriteLine("\nMélységiBejár");
            graf.MelysegiBejar(3);

            Console.WriteLine("\nÖsszefüggő: " + graf.Osszefuggo());
            Console.WriteLine("\nFeszítőfa:\n" + graf.Feszitofa());
            Console.ReadLine();
        }
예제 #29
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine("szélesség");
            graf.Szelesseg(4);
            Console.WriteLine("mélység");
            graf.Melyseg(2);
            Console.WriteLine("feszítőfa");
            graf.Feszitofa(4);
            Console.WriteLine("összefüggő");
            graf.Osszefuggo(4);

            Console.WriteLine(graf);
            Console.ReadLine();
        }
예제 #30
0
        static void Main(string[] args)
        {
            var graf = new Graf(6);

            graf.Hozzaad(0, 1);
            graf.Hozzaad(1, 2);
            graf.Hozzaad(0, 2);
            graf.Hozzaad(2, 3);
            graf.Hozzaad(3, 4);
            graf.Hozzaad(4, 5);
            graf.Hozzaad(2, 4);

            Console.WriteLine("Szélességi Bejárás: ");
            graf.SzelessegiBejaras(2);
            Console.WriteLine("Mélységi Bejárás: ");
            graf.MelysegiBejaras(3);
            Console.WriteLine("Összefüggő: ");
            graf.Osszefuggo(4);
            Console.WriteLine("Feszítőfa: ");
            graf.FeszitoFa(5);
            Console.WriteLine();
            Console.WriteLine(graf);
            Console.ReadLine();
        }