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; } } } } }
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); } }
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); } }