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