Example #1
0
        static void BFS(FakeGraph fg, string kotaasal, string kotadicari)
        {
            ParentNode         v          = fg.pn[fg.findindex(kotaasal)];
            List <ParentNode>  discovered = new List <ParentNode>();
            Queue <ParentNode> antrian    = new Queue <ParentNode>();

            antrian.Enqueue(v);
            discovered.Add(v);
            while (!antrian.Count.Equals(0))
            {
                v = antrian.Dequeue();
                Queue <ParentNode> tetanggaku = new Queue <ParentNode>();
                tetanggaku = fg.tetangganyadarikota(v);
                for (int i = 0; i < tetanggaku.Count(); i++)
                {
                    if (!sudahdiscoverkah(discovered, tetanggaku.ElementAt(i)))
                    {
                        antrian.Enqueue(tetanggaku.ElementAt(i));
                        discovered.Add(tetanggaku.ElementAt(i));
                        if (tetanggaku.ElementAt(i).Equals(fg.pn[fg.findindex(kotadicari)]))
                        {
                            Console.WriteLine("Kota Ditemukan!");
                            Console.WriteLine("Jalur Penelusuran    :");
                            for (int y = 0; y < discovered.Count(); y++)
                            {
                                Console.WriteLine(discovered.ElementAt(y).nama);
                            }
                            break;
                        }
                    }
                }
            }
        }
        static void BFS(FakeGraph fg, string kotaasal, string kotadicari)
        {
            ParentNode v = fg.pn[fg.findindex(kotaasal)];
            List<ParentNode> discovered = new List<ParentNode>();
            Queue<ParentNode> antrian = new Queue<ParentNode>();

            antrian.Enqueue(v);
            discovered.Add(v);
            while (!antrian.Count.Equals(0))
            {
                v = antrian.Dequeue();
                Queue<ParentNode> tetanggaku = new Queue<ParentNode>();
                tetanggaku = fg.tetangganyadarikota(v);
                for (int i = 0; i < tetanggaku.Count(); i++)
                {
                    if (!sudahdiscoverkah(discovered, tetanggaku.ElementAt(i)))
                    {
                        antrian.Enqueue(tetanggaku.ElementAt(i));
                        discovered.Add(tetanggaku.ElementAt(i));
                        if (tetanggaku.ElementAt(i).Equals(fg.pn[fg.findindex(kotadicari)]))
                        {
                            Console.WriteLine("Kota Ditemukan!");
                            Console.WriteLine("Jalur Penelusuran    :");
                            for (int y = 0; y < discovered.Count(); y++)
                            {
                                Console.WriteLine(discovered.ElementAt(y).nama);
                            }
                            break;
                        }
                    }
                }
            }
        }
Example #3
0
        static void DFS(FakeGraph fg, string kotaasal, string kotadicari)
        {
            ParentNode         v          = fg.pn[fg.findindex(kotaasal)];
            List <ParentNode>  discovered = new List <ParentNode>();
            Stack <ParentNode> tumpukan   = new Stack <ParentNode>();

            tumpukan.Push(v);

            while (!tumpukan.Count.Equals(0))
            {
                v = tumpukan.Pop();
                if (!sudahdiscoverkah(discovered, v))
                {
                    discovered.Add(v);
                    if (v.Equals(fg.pn[fg.findindex(kotadicari)]))
                    {
                        Console.WriteLine("Kota Ditemukan!");
                        Console.WriteLine("Jalur Penelusuran    :");
                        for (int i = 0; i < discovered.Count(); i++)
                        {
                            Console.WriteLine(discovered.ElementAt(i).nama);
                        }
                        break;
                    }
                    Queue <ParentNode> tetangga = new Queue <ParentNode>();
                    tetangga = fg.tetangganyadarikota(v);
                    for (int i = 0; i < tetangga.Count(); i++)
                    {
                        tumpukan.Push(tetangga.ElementAt(i));
                    }
                }
            }
        }
Example #4
0
        static void BFSTraversal(FakeGraph fg, string kotaasal)
        {
            ParentNode         v          = fg.pn[fg.findindex(kotaasal)];
            List <ParentNode>  discovered = new List <ParentNode>();
            Queue <ParentNode> antrian    = new Queue <ParentNode>();

            antrian.Enqueue(v);
            discovered.Add(v);
            while (!antrian.Count.Equals(0))
            {
                v = antrian.Dequeue();
                Queue <ParentNode> tetanggaku = new Queue <ParentNode>();
                tetanggaku = fg.tetangganyadarikota(v);
                for (int i = 0; i < tetanggaku.Count(); i++)
                {
                    if (!sudahdiscoverkah(discovered, tetanggaku.ElementAt(i)))
                    {
                        antrian.Enqueue(tetanggaku.ElementAt(i));
                        discovered.Add(tetanggaku.ElementAt(i));
                    }
                }
            }
            Console.WriteLine();
            for (int i = 0; i < discovered.Count(); i++)
            {
                Console.WriteLine(discovered.ElementAt(i).nama);
            }

            /*
             * foreach (ParentNode p in discovered)
             * {
             *  Console.WriteLine(p.nama);
             * }
             */
        }
Example #5
0
        static void DFSTraversal(FakeGraph fg, string kotaasal)
        {
            ParentNode         v          = fg.pn[fg.findindex(kotaasal)];
            List <ParentNode>  discovered = new List <ParentNode>();
            Stack <ParentNode> tumpukan   = new Stack <ParentNode>();

            tumpukan.Push(v);

            while (!tumpukan.Count.Equals(0))
            {
                v = tumpukan.Pop();
                if (!sudahdiscoverkah(discovered, v))
                {
                    discovered.Add(v);
                    Queue <ParentNode> tetangga = new Queue <ParentNode>();
                    tetangga = fg.tetangganyadarikota(v);
                    for (int i = 0; i < tetangga.Count(); i++)
                    {
                        tumpukan.Push(tetangga.ElementAt(i));
                    }
                }
            }
            Console.WriteLine();
            for (int i = 0; i < discovered.Count(); i++)
            {
                Console.WriteLine(discovered.ElementAt(i).nama);
            }
        }
        static void DFS(FakeGraph fg, string kotaasal, string kotadicari)
        {
            ParentNode v = fg.pn[fg.findindex(kotaasal)];
            List<ParentNode> discovered = new List<ParentNode>();
            Stack<ParentNode> tumpukan = new Stack<ParentNode>();
            tumpukan.Push(v);

            while (!tumpukan.Count.Equals(0))
            {
                v = tumpukan.Pop();
                if (!sudahdiscoverkah(discovered, v))
                {
                    discovered.Add(v);
                    if (v.Equals(fg.pn[fg.findindex(kotadicari)]))
                    {
                        Console.WriteLine("Kota Ditemukan!");
                        Console.WriteLine("Jalur Penelusuran    :");
                        for (int i = 0; i < discovered.Count(); i++)
                        {
                            Console.WriteLine(discovered.ElementAt(i).nama);
                        }
                        break;
                    }
                    Queue<ParentNode> tetangga = new Queue<ParentNode>();
                    tetangga = fg.tetangganyadarikota(v);
                    for (int i = 0; i < tetangga.Count(); i++)
                    {
                        tumpukan.Push(tetangga.ElementAt(i));
                    }
                }
            }
        }
        static void BFSTraversal(FakeGraph fg, string kotaasal)
        {
            ParentNode v = fg.pn[fg.findindex(kotaasal)];
            List<ParentNode> discovered = new List<ParentNode>();
            Queue<ParentNode> antrian = new Queue<ParentNode>();

            antrian.Enqueue(v);
            discovered.Add(v);
            while (!antrian.Count.Equals(0))
            {
                v = antrian.Dequeue();
                Queue<ParentNode> tetanggaku = new Queue<ParentNode>();
                tetanggaku = fg.tetangganyadarikota(v);
                for (int i = 0; i < tetanggaku.Count(); i++)
                {
                    if(!sudahdiscoverkah(discovered,tetanggaku.ElementAt(i)))
                    {
                        antrian.Enqueue(tetanggaku.ElementAt(i));
                        discovered.Add(tetanggaku.ElementAt(i));
                    }
                }
            }
            Console.WriteLine();
            for (int i = 0; i < discovered.Count(); i++)
            {
                Console.WriteLine(discovered.ElementAt(i).nama);
            }
            /*
            foreach (ParentNode p in discovered)
            {
                Console.WriteLine(p.nama);
            }
            */
        }
        static void DFSTraversal(FakeGraph fg, string kotaasal)
        {
            ParentNode v = fg.pn[fg.findindex(kotaasal)];
            List<ParentNode> discovered = new List<ParentNode>();
            Stack<ParentNode> tumpukan = new Stack<ParentNode>();
            tumpukan.Push(v);

            while (!tumpukan.Count.Equals(0))
            {
                v = tumpukan.Pop();
                if (!sudahdiscoverkah(discovered, v))
                {
                    discovered.Add(v);
                    Queue<ParentNode> tetangga = new Queue<ParentNode>();
                    tetangga = fg.tetangganyadarikota(v);
                    for (int i = 0; i < tetangga.Count(); i++)
                    {
                        tumpukan.Push(tetangga.ElementAt(i));
                    }
                }
            }
            Console.WriteLine();
            for (int i = 0; i < discovered.Count(); i++)
            {
                Console.WriteLine(discovered.ElementAt(i).nama);
            }
        }