public static class JMEMath.TeoriaGrafos
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
JMEMath.TeoriaGrafos.Grafo
Estructura de datos para grafo/digrafo/multigrafo/pseudografo y ponderados
|
static interface |
JMEMath.TeoriaGrafos.PredicadoNodo |
Constructor and Description |
---|
TeoriaGrafos() |
Modifier and Type | Method and Description |
---|---|
static java.lang.Object |
caminoDesdeMatrizCaminosYDistancias(double[][] matDist,
int[][] matCam,
int inicio,
int fin)
Camino entre dos nodos a partir de la matriz de caminos y la de distancias o costes
|
static JMEMath.TeoriaGrafos.Grafo |
completo(int orden,
boolean dirigido,
java.lang.String prefijo)
Crea un grafo completo
Korden |
static JMEMath.TeoriaGrafos.Grafo |
havelHakimi(int[] sucesion)
Comprueba si una sucesión es gráfica y devuelve el grafo asociado a ella por el algoritmo
de Havel-Hakimi.
|
static double[][] |
listaAdyacenciasAMatrizAdyacencia(int[][] lst)
Lista de adyacencias a matriz de adyacencia
|
static int[][] |
matrizAdyacenciaAListaAdyacencias(double[][] ady)
Matriz de adyacencia a lista de adyacencia para grafo/multigrafo/pseudografo dirigidos
o no dirigidos
|
static double[][] |
matrizAdyacenciaAMatrizIncidencia(double[][] ady,
boolean dirigido,
boolean ponderado)
Convertir matriz de adyacencia de grafo/multigrafo/pseudografo
en matriz de incidencia.
|
static double[][] |
matrizAdyacenciaDesdePares(int[][] aristas,
int nodos,
boolean dirigido)
Crea una matriz de adyacencias para grafos/multigrafos/pseudografos dirigidos o no
dirigidos a partir de pares de nodos (aristas), también llamada lista de incidencia.
|
static double[][] |
matrizIncidenciaAMatrizAdyacencia(double[][] inc,
boolean dirigido,
boolean ponderado)
Convertir matriz de incidencia de un grafo/digrafo/multigrafo/pseudografo en
matriz de adyacencia
|
static java.math.BigInteger |
numGrafos(int numNodos)
Número de posibles grafos simples sin bucles
|
static int[][] |
paresDesdeMatrizAdyacencia(double[][] ady,
boolean dirigido)
Crea una matriz de pares ordenados de nodos (también llamada lista de incidencia) para
grafos/multigrafos/pseudografos dirigidos o no dirigidos a partir de la matriz de
adyacencia.
|
public static JMEMath.TeoriaGrafos.Grafo havelHakimi(int[] sucesion)
sucesion
- sucesión de enteros no negativosJMEInterruptedException
- si el hilo se interrumpepublic static java.math.BigInteger numGrafos(int numNodos)
numNodos
- nº de nodos [1,65536]java.lang.IllegalArgumentException
- 'numNodos' fuera de [1,65536]public static double[][] matrizAdyacenciaDesdePares(int[][] aristas, int nodos, boolean dirigido)
aristas
- pares de nodosnodos
- nº de nodos totalesdirigido
- true para grafo dirigido. Si es false, se creará una matriz
simétrica (nodo <a,b>=<b,a>
)java.lang.ArrayIndexOutOfBoundsException
- lista de nodos mal definida o nº de nodos
demasiado pequeñopublic static int[][] paresDesdeMatrizAdyacencia(double[][] ady, boolean dirigido)
ady
- matriz de adyacenciadirigido
- true para grafos dirigidos, false para no dirigidos
(la matriz debe ser simétrica, o el resultado será inesperado)JMEInterruptedException
- si el hilo se interrumpejava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadapublic static double[][] matrizAdyacenciaAMatrizIncidencia(double[][] ady, boolean dirigido, boolean ponderado)
ady
- matriz de adyacencia con posibles bucles y lados paralelosdirigido
- flag dirigidoponderado
- flag ponderadojava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic static double[][] matrizIncidenciaAMatrizAdyacencia(double[][] inc, boolean dirigido, boolean ponderado)
inc
- matriz de incidencia (filas vértices y columnas aristas)dirigido
- flag dirigidoponderado
- flag ponderadojava.lang.ArrayIndexOutOfBoundsException
- matriz malformada (columna nula)JMEInterruptedException
- si el hilo se interrumpepublic static int[][] matrizAdyacenciaAListaAdyacencias(double[][] ady)
ady
- matriz de adyacenciajava.lang.ArrayIndexOutOfBoundsException
- matriz mal formadaJMEInterruptedException
- si el hilo se interrumpepublic static double[][] listaAdyacenciasAMatrizAdyacencia(int[][] lst)
lst
- lista de adyacenciasJMEInterruptedException
- si el hilo se interrumpepublic static java.lang.Object caminoDesdeMatrizCaminosYDistancias(double[][] matDist, int[][] matCam, int inicio, int fin)
matDist
- matriz de distancias o costesmatCam
- matriz de caminosinicio
- nodo de iniciofin
- nodo finalpublic static JMEMath.TeoriaGrafos.Grafo completo(int orden, boolean dirigido, java.lang.String prefijo)
Korden
orden
- nº de nodosdirigido
- true
para digrafo completoprefijo
- prefijo de las etiquetasKorden