public static class JMEMath.TeoriaGrafos.Grafo
extends java.lang.Object
implements java.lang.Cloneable
Modifier and Type | Field and Description |
---|---|
protected double[][] |
ady |
protected java.lang.Object[][] |
aristaData |
protected boolean |
esDirigido |
protected boolean |
esMultigrafo |
protected boolean |
esPonderado |
protected boolean |
esPseudografo |
protected java.lang.String[] |
etiquetas |
protected java.lang.Object[] |
nodoData |
Constructor and Description |
---|
Grafo(double[][] ady,
java.lang.String prefijo,
boolean esDirigido,
boolean esPonderado,
boolean esPseudografo,
boolean esMultigrafo) |
Grafo(int numNodos,
java.lang.String prefijo,
boolean esDirigido,
boolean esPonderado,
boolean esPseudografo,
boolean esMultigrafo) |
Grafo(java.lang.String[] etiquetas,
boolean esDirigido,
boolean esPonderado,
boolean esPseudografo,
boolean esMultigrafo) |
Grafo(java.lang.String[] etiquetas,
double[][] ady,
boolean esDirigido,
boolean esPonderado,
boolean esPseudografo,
boolean esMultigrafo) |
Modifier and Type | Method and Description |
---|---|
int[] |
aislados()
Devuelve todos los nodos aislados
|
int[][] |
aristas() |
int[] |
ascendientes(int nodo)
Devuelve los ascendientes de un nodo (hay camino desde ellos hacia el nodo)
|
JMEMath.TeoriaGrafos.Grafo |
bea(int nodoInicial)
Búsqueda en amplitud (BEA o BFS),
#busqueda(int, true) |
JMEMath.TeoriaGrafos.Grafo |
bep(int nodoInicial)
Búsqueda en profundidad (BEP o DFS),
#busqueda(int, false) |
JMEMath.TeoriaGrafos.Grafo |
bepPostOrden(int nodoInicial)
Búsqueda post-orden en profundidad (BEP o DFS)
|
int[][] |
bipartito()
Comprueba si un grafo es bipartito mediante coloración.
|
protected JMEMath.TeoriaGrafos.Grafo |
busqueda(int nodoInicial,
boolean bea)
Búsqueda en profundidad (BEP o DFS) o en amplitud (BEA o BFS)
|
JMEMath.TeoriaGrafos.Grafo |
centro()
Centro de un grafo (subgrafo inducido por los nodos de menor excentricidad)
|
protected JMEMath.TeoriaGrafos.Grafo |
clone() |
JMEMath.TeoriaGrafos.Grafo |
complemento()
Matriz de adyacencia del grafo complemento (inverso).
|
JMEMath.TeoriaGrafos.Grafo[] |
componentesConexas(boolean bea)
Devuelve las componente conexas como un array de grafos
|
JMEMath.TeoriaGrafos.Grafo[] |
componentesFuertementeConexas()
Devuelve las componentes fuertemente conexas de un digrafo como un array de grafos
mediante el algoritmo de Kosaraju
|
boolean |
contieneNodo(java.lang.String nombreNodo) |
double |
densidad()
Densidad de un grafo dirigido
D=|A|/(2*comb(|V|,2)) o no dirigido
D=|A|/comb(|V|,2) |
int[] |
descendientes(int nodo)
Devuelve los descendientes de un nodo (hay camino desde el nodo hacia ellos)
|
double |
diametro()
Diámetro del grafo (máxima excentricidad)
|
static double |
diametro(double[][] matdist)
Diámetro del grafo (máxima excentricidad) dada la matriz de distancias
|
java.lang.Object[] |
dijkstra(int inicio)
Algoritmo de Dijkstra en grafos ponderados positivos conexos para encontrar
todos los caminos y distancias desde el nodo inicial.
|
java.lang.Object[] |
dijkstra(int inicio,
int fin)
Algoritmo de Dijkstra en grafos ponderados positivos conexos para encontrar
el camino mínimo y distancia entre dos nodos.
|
double |
distanciaTotal(int nodo)
Distancia total de un nodo
|
static double |
distanciaTotal(int nodo,
double[][] matdist)
Distancia total de un nodo
|
JMEMath.TeoriaGrafos.Grafo |
dual()
Grafo dual de un grafo/multigrafo/pseudografo no dirigido.
|
boolean |
equals(java.lang.Object obj) |
boolean |
esAdyacente(int nodo1,
int nodo2)
Comprueba si el primer nodo es adyacente al segundo.
|
boolean |
esAislado(int nodo)
Comprueba si un nodo es aislado (su grado total es cero)
|
boolean |
esAntisimetrico()
Comprueba si un grafo es antisimétrico
|
boolean |
esArbol()
Comprueba que un grafo conexo es un árbol
(si es multigrafo o pseudografo devuelve siempre
false ) |
int |
esArborescencia()
Comprueba si el grafo es un árbol dirigido con raíz
|
boolean |
esArborescenciaBinaria()
Comprueba si es una arborescencia binaria
|
boolean |
esBalanceado()
Comprueba si el digrafo es balanceado (mismo grado de entrada y salida en cada nodo).
|
boolean |
esClique(int[] nodos)
Comprueba si un subconjunto de nodos es un clique
|
boolean |
esCompleto()
Comprueba si el grafo o digrafo es completo
|
boolean |
esConexo()
Comprueba si un grafo es conexo o si un digrafo es débilmente conexo
|
boolean |
esConjuntoCorte(int[] nodos)
Comprueba si un conjunto de nodos son de corte (puntos de articulación)
|
boolean |
esConjuntoEstable(int[] nodos)
Comprueba si un subconjunto de nodos es estable (independiente, coclique, anticlique)
|
boolean |
esDirigido() |
boolean |
esFuente(int nodo) |
boolean |
esFuertementeConexo()
Comprueba si un digrafo es fuertemente conexo
|
boolean |
esHoja(int nodo) |
boolean |
esMultigrafo() |
boolean |
esOrientable()
Comprueba si el grafo no dirigido es orientable (teorema de Robbins)
|
boolean |
esPonderado() |
boolean |
esPseudografo() |
boolean |
esPuente(int nodo1,
int nodo2)
Comprueba si una arista es puente (istmo, arista de corte).
|
boolean |
esRegular()
Comprueba si el grafo es regular (grados iguales para todo vértice)
|
boolean |
esSimetrico()
Comprueba si el grafo es simétrico
|
boolean |
esSubgrafo(JMEMath.TeoriaGrafos.Grafo quizasSub)
Comprueba si un grafo es subgrafo de otro
|
boolean |
esSubgrafoGenerador(JMEMath.TeoriaGrafos.Grafo quizasSubGen)
Comprueba si un grafo es subgrafo generador de otro
|
boolean |
esSumidero(int nodo) |
boolean |
estaConectado(int nodo1,
int nodo2)
Devuelve true si existe un camino entre el nodo1 y el nodo2
|
boolean |
esUnilateralmenteConexo()
Comprueba si un digrafo es unilateralmente conexo
|
boolean |
esUniversal(int nodo) |
boolean |
esVacio()
Comprueba si el grafo o digrafo es vacio ({@code |A|=0)
|
double |
excentricidad(int nodo)
Excentricidad del nodo (máxima distancia a cualquier otro nodo por el camino mínimo)
|
static double |
excentricidad(int nodo,
double[][] matdist)
Excentricidad del nodo (máxima distancia a cualquier otro nodo por el camino mínimo)
dada la matriz de distancias
|
int[] |
filtrar(JMEMath.TeoriaGrafos.PredicadoNodo predicado)
Devuelve los nodos que cumplen el predicado
|
int[] |
fleury()
Algoritmo de Fleury para encontrar el camino o ciclo euleriano en un grafo euleriano
|
double[][] |
floydWarshall()
Algoritmo de Floyd-Warshall para el cálculo de la matriz de distancias mínimas
|
java.lang.Object[] |
floydWarshallCompleto()
Algoritmo de Floyd-Warshall para el cálculo de la matriz de distancias mínimas y la
matriz de caminos
|
int[] |
fuentes() |
double |
get(int nodo1,
int nodo2) |
java.lang.Object[][] |
getAristaData() |
java.lang.String |
getEtiqueta(int nodo) |
java.lang.String[] |
getEtiquetas() |
java.lang.String[] |
getEtiquetasDesdeIndices(int[] nodos) |
int |
getIndiceNodo(java.lang.String etiqueta) |
int[] |
getIndices(java.lang.String[] etiquetas) |
int |
getInt(int nodo1,
int nodo2) |
double[][] |
getMatriz() |
java.lang.Object[] |
getNodoData() |
java.lang.Object[] |
gradoMaximo()
Grado máximo del grafo y nodos que lo tienen
|
java.lang.Object[] |
gradoMinimo()
Grado mínimo del grafo y nodos que lo tienen
|
double |
gradoModalMedio()
Grado modal medio de un grafo no dirigido g=
2|A|/|V| |
int |
gradoNodo(int nodo)
Grado de un nodo en un grafo/multigrafo/pseudografo no dirigido
(nota:los bucles se representan con un 1 en la
diagonal, algunos autores usan un 2)
|
int[] |
gradoNodoDirigido(int nodo)
Grados de entrada y salida de un nodo en un grafo/multigrafo/pseudografo
dirigido (nota:los bucles se representan con un 1 en la
diagonal, algunos autores usan un 2)
|
int |
gradoNodoTotal(int nodo)
Grado total de un nodo.
|
int |
hashCode() |
int[] |
hojas() |
JMEMath.TeoriaGrafos.Grafo |
mediana()
Mediana de un grafo (subgrafo inducido por los nodos de menor distancia total)
|
int[] |
nodosUniversales() |
int |
numAristas()
Número de aristas de un grafo/multigrafo/pseudografo dirigidos o no
|
int |
orden() |
JMEMath.TeoriaGrafos.Grafo |
orientar()
Orienta un grafo no dirigido mediante el algoritmo de Hopcroft-Tarjan si es
orientable
|
int[] |
predecesores(int nodo)
Predecesores de un nodo
|
JMEMath.TeoriaGrafos.Grafo |
prim(int vertice)
Árbol recubridor mínimo mediante algoritmo de Prim (sin usar colas) para un grafo
ponderado conexo
Wikipedia
|
int[][] |
puentes() |
double |
radio()
Radio del grafo (mínima excentricidad)
|
static double |
radio(double[][] matdist)
Radio del grafo (mínima excentricidad) dada la matriz de distancias
|
JMEMath.TeoriaGrafos.Grafo |
remove(int nodo1,
int nodo2)
Borrar arista (operación MUTABLE).
|
JMEMath.TeoriaGrafos.Grafo |
reordenar(java.lang.String[] etiquetasReordenadas)
Reordena matriz y datos a partir de una reordenación de las etiquetas
Nota: acción MUTABLE |
JMEMath.TeoriaGrafos.Grafo |
set(int nodo1,
int nodo2,
double valor) |
JMEMath.TeoriaGrafos.Grafo |
setAristaData(java.lang.Object[][] aristaData) |
JMEMath.TeoriaGrafos.Grafo |
setDirigido(boolean esDirigido) |
JMEMath.TeoriaGrafos.Grafo |
setEsMultigrafo(boolean esMultigrafo) |
JMEMath.TeoriaGrafos.Grafo |
setEsPseudografo(boolean esPseudografo) |
JMEMath.TeoriaGrafos.Grafo |
setEtiquetas(java.lang.String[] etiquetas) |
double[][] |
setMatriz(double[][] ady) |
JMEMath.TeoriaGrafos.Grafo |
setNodoData(java.lang.Object[] nodoData) |
JMEMath.TeoriaGrafos.Grafo |
setPonderado(boolean esPonderado) |
JMEMath.TeoriaGrafos.Grafo |
subgrafoInducido(int[] nodos)
Subgrafo inducido por los nodos especificados
|
JMEMath.TeoriaGrafos.Grafo |
subyacente()
Grafo subyacente de un digrafo (para grafos simples devuelve una copia del propio
grafo)
|
int[] |
sucesores(int nodo)
Sucesores de un nodo
|
int[] |
sumideros() |
java.util.Map<java.lang.String,java.lang.Object> |
toMap()
Convierte los parámetros del grafo a un mapa
<String,Object> |
java.lang.String |
toString() |
JMEMath.TeoriaGrafos.Grafo |
traspuesto()
Grafo traspuesto
|
JMEMath.TeoriaGrafos.Grafo |
vecindad(int[] nodos,
boolean cerrada)
Vecindad de un subconjunto de nodos del grafo
|
JMEMath.TeoriaGrafos.Grafo |
vecindad(int nodo,
boolean cerrada)
Vecindad de un nodo (subgrafo inducido por sus sucesores)
|
protected double[][] ady
protected boolean esDirigido
protected boolean esPonderado
protected boolean esPseudografo
protected boolean esMultigrafo
protected java.lang.String[] etiquetas
protected java.lang.Object[] nodoData
protected java.lang.Object[][] aristaData
public Grafo(java.lang.String[] etiquetas, double[][] ady, boolean esDirigido, boolean esPonderado, boolean esPseudografo, boolean esMultigrafo)
public Grafo(java.lang.String[] etiquetas, boolean esDirigido, boolean esPonderado, boolean esPseudografo, boolean esMultigrafo)
public Grafo(double[][] ady, java.lang.String prefijo, boolean esDirigido, boolean esPonderado, boolean esPseudografo, boolean esMultigrafo)
public Grafo(int numNodos, java.lang.String prefijo, boolean esDirigido, boolean esPonderado, boolean esPseudografo, boolean esMultigrafo)
public double[][] setMatriz(double[][] ady)
public double[][] getMatriz()
public double get(int nodo1, int nodo2)
public int getInt(int nodo1, int nodo2)
public JMEMath.TeoriaGrafos.Grafo set(int nodo1, int nodo2, double valor)
public JMEMath.TeoriaGrafos.Grafo remove(int nodo1, int nodo2)
nodo1
- extremo inicial de la aristanodo2
- extremo final de la aristapublic boolean esDirigido()
public JMEMath.TeoriaGrafos.Grafo setDirigido(boolean esDirigido)
public JMEMath.TeoriaGrafos.Grafo setPonderado(boolean esPonderado)
public JMEMath.TeoriaGrafos.Grafo setEsPseudografo(boolean esPseudografo)
public JMEMath.TeoriaGrafos.Grafo setEsMultigrafo(boolean esMultigrafo)
public java.lang.String getEtiqueta(int nodo)
public java.lang.String[] getEtiquetas()
public JMEMath.TeoriaGrafos.Grafo setEtiquetas(java.lang.String[] etiquetas)
public java.lang.String[] getEtiquetasDesdeIndices(int[] nodos)
public boolean esPonderado()
public boolean esPseudografo()
public boolean esMultigrafo()
public int orden()
public java.lang.Object[] getNodoData()
public JMEMath.TeoriaGrafos.Grafo setNodoData(java.lang.Object[] nodoData)
public java.lang.Object[][] getAristaData()
public JMEMath.TeoriaGrafos.Grafo setAristaData(java.lang.Object[][] aristaData)
public int getIndiceNodo(java.lang.String etiqueta)
public int[] getIndices(java.lang.String[] etiquetas)
public int[] filtrar(JMEMath.TeoriaGrafos.PredicadoNodo predicado)
predicado
- condición de selección del nodopublic boolean esAdyacente(int nodo1, int nodo2)
nodo1
- primer nodonodo2
- segundo nodojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formada o nodos fuera de rangopublic boolean esAislado(int nodo)
nodo
- nodo consideradopublic int[] aislados()
public JMEMath.TeoriaGrafos.Grafo vecindad(int nodo, boolean cerrada)
nodo
- nodo consideradocerrada
- si la vecindad es cerrada, se incluye 'nodo' a su vecindadpublic JMEMath.TeoriaGrafos.Grafo vecindad(int[] nodos, boolean cerrada)
nodos
- subconjunto de nodoscerrada
- si la vecindad es cerrada, se incluye el subconjunto de nodospublic JMEMath.TeoriaGrafos.Grafo subgrafoInducido(int[] nodos)
nodos
- indices de los nodosjava.lang.ArrayIndexOutOfBoundsException
- matriz mal formada o nodospublic int[] sucesores(int nodo)
nodo
- nodo seleccionadopublic int[] predecesores(int nodo)
nodo
- nodo seleccionadopublic boolean estaConectado(int nodo1, int nodo2)
nodo1
- primer nodonodo2
- segundo nodopublic int[] descendientes(int nodo)
nodo
- nodo seleccionadopublic int[] ascendientes(int nodo)
nodo
- nodo seleccionadopublic int gradoNodo(int nodo)
nodo
- nodo seleccionadojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formada o nodo fuera de rangopublic int[] gradoNodoDirigido(int nodo)
nodo
- nodo seleccionado[g-(n),g+(n),g_t(n),g_n(n)]
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formada o nodo fuera de rangopublic int gradoNodoTotal(int nodo)
gradoNodo(int)
nodo
- nodo seleccionadojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formada o nodo fuera de rangopublic java.lang.Object[] gradoMaximo()
public java.lang.Object[] gradoMinimo()
public int numAristas()
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic int[][] aristas()
public boolean esVacio()
dirigido
- true si el grafo es dirigidojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic boolean esAntisimetrico()
mat
- matriz cuadrada doubletrue
si es antisimétricojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic boolean esCompleto()
java.lang.IllegalStateException
- sólo válido para grafos/digrafos simples sin buclesjava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic boolean esBalanceado()
true
si es balanceadojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic boolean esRegular()
ady
- matriz de adyacenciajava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic double densidad()
D=|A|/(2*comb(|V|,2))
o no dirigido
D=|A|/comb(|V|,2)
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic double gradoModalMedio()
2|A|/|V|
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic JMEMath.TeoriaGrafos.Grafo complemento()
java.lang.IllegalStateException
- el grafo es multigrafo o ponderadojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic JMEMath.TeoriaGrafos.Grafo dual()
java.lang.IllegalStateException
- el grafo es dirigido o ponderadojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic JMEMath.TeoriaGrafos.Grafo reordenar(java.lang.String[] etiquetasReordenadas)
etiquetasReordenadas
- reordenación de las etiquetasjava.lang.IllegalArgumentException
- las etiquetas no son una reordenación correctajava.lang.ArrayIndexOutOfBoundsException
- matriz o datos mal formadospublic boolean esArbol()
false
)true
si es un árboljava.lang.IllegalArgumentException
- no es conexopublic int esArborescencia()
public boolean esArborescenciaBinaria()
public boolean esHoja(int nodo)
public int[] hojas()
public boolean esUniversal(int nodo)
public int[] nodosUniversales()
public boolean esOrientable()
JMEInterruptedException
- si el hilo se interrumpepublic JMEMath.TeoriaGrafos.Grafo orientar()
public static double excentricidad(int nodo, double[][] matdist)
nodo
- nodo seleccionadomatdist
- matriz de distanciaspublic double excentricidad(int nodo)
nodo
- nodo seleccionadopublic static double diametro(double[][] matdist)
matdist
- matriz de distanciaspublic double diametro()
public static double radio(double[][] matdist)
matdist
- matriz de distanciaspublic double radio()
public JMEMath.TeoriaGrafos.Grafo centro()
public static double distanciaTotal(int nodo, double[][] matdist)
nodo
- nodo seleccionadomatdist
- matriz de distanciaspublic double distanciaTotal(int nodo)
nodo
- nodo seleccionadopublic JMEMath.TeoriaGrafos.Grafo mediana()
public java.lang.Object[] dijkstra(int inicio, int fin)
inicio
- nodo inicial [0,N)
fin
- nodo final [0,N)
[Integer[],Double]
(camino de nodos de inicio a fin y longitud)java.lang.ArrayIndexOutOfBoundsException
- matriz mal formada o índices erróneosJMEInterruptedException
- si el hilo se interrumpepublic java.lang.Object[] dijkstra(int inicio)
inicio
- nodo inicial [0,N)
[caminos,distancias]
con formato
[List<List<Integer>>,List<Double>]
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadajava.lang.IllegalArgumentException
- grafo disconexo o débilmente conexo o índice erróneoJMEInterruptedException
- si el hilo se interrumpepublic double[][] floydWarshall()
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic java.lang.Object[] floydWarshallCompleto()
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpefloydWarshall()
public JMEMath.TeoriaGrafos.Grafo prim(int vertice)
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic int[] fleury()
protected JMEMath.TeoriaGrafos.Grafo busqueda(int nodoInicial, boolean bea)
nodoInicial
- nodo de iniciobea
- true para búsqueda en amplitud y false para profundidadjava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic JMEMath.TeoriaGrafos.Grafo bep(int nodoInicial)
#busqueda(int, false)
public JMEMath.TeoriaGrafos.Grafo bea(int nodoInicial)
#busqueda(int, true)
public JMEMath.TeoriaGrafos.Grafo bepPostOrden(int nodoInicial)
nodoInicial
- nodo de iniciojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic int[][] bipartito()
[conjU,conjV]
con los dos
conjuntos de nodos {U,V}public JMEMath.TeoriaGrafos.Grafo[] componentesConexas(boolean bea)
bea
- true para buscar las componentes conexas con algoritmo BEA o
false para BEPjava.lang.IllegalStateException
- el algoritmo se aplica a componentes conexas de grafos
no dirigidosJMEInterruptedException
- si el hilo se interrumpepublic JMEMath.TeoriaGrafos.Grafo[] componentesFuertementeConexas()
JMEInterruptedException
- si el hilo se interrumpepublic JMEMath.TeoriaGrafos.Grafo subyacente()
java.lang.IllegalStateException
- el grafo no debe ser ponderado ni multigrafopublic JMEMath.TeoriaGrafos.Grafo traspuesto()
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic boolean esClique(int[] nodos)
nodos
- nodos del grafopublic boolean esConjuntoEstable(int[] nodos)
nodos
- nodos del grafopublic boolean esSimetrico()
java.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
protected JMEMath.TeoriaGrafos.Grafo clone()
clone
in class java.lang.Object
public boolean esSumidero(int nodo)
public int[] sumideros()
public boolean esFuente(int nodo)
public int[] fuentes()
public boolean esConexo()
public boolean esUnilateralmenteConexo()
public boolean esFuertementeConexo()
public boolean contieneNodo(java.lang.String nombreNodo)
public boolean esSubgrafo(JMEMath.TeoriaGrafos.Grafo quizasSub)
quizasSub
- posible subgrafopublic boolean esSubgrafoGenerador(JMEMath.TeoriaGrafos.Grafo quizasSubGen)
quizasSub
- posible subgrafo generadorpublic boolean esPuente(int nodo1, int nodo2)
nodo1
- inicio de la aristanodo2
- fin de la aristajava.lang.IllegalArgumentException
- no existe la aristaJMEInterruptedException
- si el hilo se interrumpepublic int[][] puentes()
public boolean esConjuntoCorte(int[] nodos) throws java.lang.IllegalStateException
nodos
- conjunto de nodos que pueden ser de cortejava.lang.IllegalStateException
- grafo dirigidoJMEInterruptedException
- si el hilo se interrumpepublic java.util.Map<java.lang.String,java.lang.Object> toMap()
<String,Object>
public java.lang.String toString()
toString
in class java.lang.Object