// -> Retorna se um grafo tem ciclo public bool HasCiclo() { if (this.HasLoop() && this.IsConexo()) { return(false); } BuscaProfundidade buscaProfundidade = new BuscaProfundidade(); buscaProfundidade.Buscar(this); return(this.Vertices.Any(v => v.ListaAdjacencia.Any(a => a.TipoAresta == "Retorno"))); }
// -> Retorna se um grafo é conexo public bool IsConexo() { BuscaProfundidade buscaProfundidade = new BuscaProfundidade(); return(buscaProfundidade.Buscar(this) == 1); }