public int getYde(CNodoVertice cnv) { List <int> yes = new List <int>(); int ymin = -1; foreach (CArista a in arcos_arbol) { CVertice or = a.getVOrigen(), de = a.getVDestino(); int num_or = or.getNumero(), num_de = de.getNumero(); if (or.getId() == cnv.getVertice().getId() && num_or < num_de) { if (de.getBajo() != 0) { yes.Add(de.getBajo()); } } else if (de.getId() == cnv.getVertice().getId() && num_de < num_or) { if (or.getBajo() != 0) { yes.Add(or.getBajo()); } } if (yes.Count != 0) { yes.Sort(); ymin = yes[0]; } } return(ymin); }
public void enlistaArcosArbol(CVertice origen, CVertice destino) { foreach (CArista a in G.getListaAristas()) { if (G.getTipo() == DIRIGIDO) { if (a.getVOrigen().getId() == origen.getId() && a.getVDestino().getId() == destino.getId()) { arcos_arbol.Add(a); } } else { if ((a.getVOrigen().getId() == origen.getId() && a.getVDestino().getId() == destino.getId()) || a.getVOrigen().getId() == destino.getId() && a.getVDestino().getId() == origen.getId()) { arcos_arbol.Add(a); } } } }
public bool esElUltimoEnPintar(CVertice v) { foreach (CNodoVertice cnv in G.getListaAdyacencia()) { if (cnv.getVertice().getId() != v.getId() && !v.estaPintado()) { return(false); } } return(true); }
public bool tieneHijosConBajoMayorOIgualAlNumDe(CNodoVertice cnv) { foreach (CArista a in arcos_arbol) { CVertice or = a.getVOrigen(), de = a.getVDestino(); int num_or = or.getNumero(), num_de = de.getNumero(); if (or.getId() == cnv.getVertice().getId() && num_or < num_de && de.getBajo() >= cnv.getVertice().getNumero()) { return(true); } else if (de.getId() == cnv.getVertice().getId() && num_de < num_or && or.getBajo() >= cnv.getVertice().getNumero()) { return(true); } } return(false); }
private void obtenerCentroToolStripMenuItem_Click(object sender, EventArgs e) { if (grafos != null && grafo_activo != null && grafo_activo.getTipo() == DIRIGIDO && grafo_activo.getNumeroAristas() > 0) { if (!grafo_activo.tienePeso()) { DAddPeso dap = new DAddPeso(grafo_activo.getListaAristas()); grafo_activo.showHideIdAristas(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); if (dap.ShowDialog() == DialogResult.OK) { grafo_activo.setPesos(dap.getPesos()); grafo_activo.showHideIdAristas(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); grafo_activo.showHidePesos(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); CFloyd cf = new CFloyd(grafo_activo); cf.Floyd(); CVertice centro = cf.dameCentro().getVertice(); centro.setRelleno(Color.SpringGreen.ToArgb()); centro.dibujate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); MessageBox.Show(" Vértice Central : " + centro.getId().ToString() + ". ", "Centro del Grafo " + grafo_activo.getId().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information); centro.borrate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); centro.setRelleno(Color.LightGoldenrodYellow.ToArgb()); centro.dibujate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); grafo_activo.showHidePesos(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); } else { grafo_activo.showHideIdAristas(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); } } else { grafo_activo.showHidePesos(true, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); CFloyd cf = new CFloyd(grafo_activo); cf.Floyd(); CVertice centro = cf.dameCentro().getVertice(); centro.setRelleno(Color.SpringGreen.ToArgb()); centro.dibujate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); MessageBox.Show(" Vértice Central : " + centro.getId().ToString() + ". ", "Centro del Grafo " + grafo_activo.getId().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information); centro.borrate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); centro.setRelleno(Color.LightGoldenrodYellow.ToArgb()); centro.dibujate(Graphics.FromImage(grafo_activo.getBMP()), grafo_activo.getBMP(), (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); grafo_activo.showHidePesos(false, (TabPage)Pestanas.Controls[Pestanas.SelectedIndex]); } } }
public bool laRaizTiene2OMasHijos(CNodoVertice cnv_ini) { int num_hijos = 0; foreach (CArista a in arcos_arbol) { CVertice or = a.getVOrigen(), de = a.getVDestino(); int num_or = or.getNumero(), num_de = de.getNumero(); if ((or.getId() == cnv_ini.getVertice().getId() && num_or < num_de) || (de.getId() == cnv_ini.getVertice().getId() && num_de < num_or)) { num_hijos++; } } if (num_hijos >= 2) { return(true); } return(false); }
public void enlistaArcosArbol(CVertice origen, CVertice destino) { foreach (CArista a in G.getListaAristas()) { if (G.getTipo() == DIRIGIDO) { if (a.getVOrigen().getId() == origen.getId() && a.getVDestino().getId() == destino.getId()) arcos_arbol.Add(a); } else { if ((a.getVOrigen().getId() == origen.getId() && a.getVDestino().getId() == destino.getId()) || a.getVOrigen().getId() == destino.getId() && a.getVDestino().getId() == origen.getId()) { arcos_arbol.Add(a); } } } }
public bool esElUltimoEnPintar(CVertice v) { foreach (CNodoVertice cnv in G.getListaAdyacencia()) { if (cnv.getVertice().getId() != v.getId() && !v.estaPintado()) return false; } return true; }