Вы находитесь на странице: 1из 9

Class Grafo

java.lang.Object
|
+--Grafo
public class Grafo
extends java.lang.Object
implements java.util.Iterator
Field Summary
private static Azar
java.lang.String
private static Grafo

Aleatorio
archivo
G

private java.util.LinkedList[] ListaVertices


private int
boolean
private int

NVertices
ok
pos

private static ConjuntoVertices VisAdy


Constructor Summary
Grafo(int n)
Orden(n)
Grafo(java.lang.String unArchivo)
Orden(n)
Method Summary
ConjuntoVertices
Adyacentes(Vertice V)
Orden(n^2)
Grafo AgregarArista(Arista A)
Orden(1)
private static Cadena bfs(Vertice V, Vertice W)
Orden(n^2)
private Cadena Busqueda(java.util.Vector V, Vertice W)
Orden(n)
Cadena CadenaQueEviteVertices(Vertice V, Vertice W, ConjuntoVertices C)
Orden(n^2)
Cadena CadenaXfs(Vertice V, Vertice W, int opcion)
Orden(n^2)
private static Cadena dfs(Vertice V, Vertice W)
Orden(n^2)
Grafo EliminarArista(Arista A)
Orden(n)
boolean
EsArista(Arista A)
Orden(n)
boolean
EsVertice(Vertice V)
Orden(n)
private java.util.Vector
Expandir(Cadena Pj, ConjuntoVertices Ady)
Orden(n)
int
Grado(Vertice V)
Orden(n)
private static void
HacerPausa(java.lang.String Mensaje)
Orden(1)

boolean

hasNext()
Orden(1)
boolean
hasPrevious()
Orden(1)
Grafo ModificarCostoVertice(Vertice V, float unValor)
Orden(1)
java.lang.Object
next()
Orden(1)
int
NumeroAristas()
Orden(n)
int
NumeroVertices()
Orden(n)
Arista ObtenerArista(int u, int v)
Orden(n)
java.util.LinkedList[] ObtenerListaDeVertices()
Orden(1)
Vertice
ObtenerVertice(int n)
Orden(n)
java.lang.Object
previous()
Orden(1)
void remove()
Formalismo (No aplica)
private void RutinaEliminacion(java.util.Vector Pi, ConjuntoVertices C, java.
util.Vector Abiertos)
Orden(n)
void setPosition(int p)
Orden(1)
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNative
s, toString, wait, wait, wait
Field Detail
ListaVertices
private java.util.LinkedList[] ListaVertices
G
private static Grafo G
NVertices
private int NVertices
pos
private int pos
VisAdy
private static ConjuntoVertices VisAdy
Aleatorio
private static Azar Aleatorio
archivo
public java.lang.String archivo
ok
public boolean ok
Constructor Detail
Grafo

public Grafo(int n)
throws java.lang.Exception
Orden(n)
Parameters:
n - = numero de vertices del grafo
Preconditions:
n debe ser mayor que 0.
Postconditions:
Crea un grafo simple no dirigido de n vertices con costo 0.
Grafo
public Grafo(java.lang.String unArchivo)
throws java.lang.Exception
Orden(n)
Parameters:
unArchivo - es el nombre de archivo de donde se desea cargar los datos para crea
r el grafo
Preconditions:
unArchivo debe tener el formafo de arhivo de grafo especificado en el informe, d
ebe tener un numero de vertices mayor que cero
Postconditions:
Crea un grafo simple no dirigido, a partir del archivo que se ha seleccionado
Method Detail
ModificarCostoVertice
public Grafo ModificarCostoVertice(Vertice V,
float unValor)
Orden(1)
Parameters:
V - = es el vertice que se desea modificar
unValor - = es el nuevo valor del v?rtice
Returns:
Grafo(TAD)
Preconditions:
V y unValor debe ser enteros
Postconditions:
Cambia el valor del vertice dado
AgregarArista
public Grafo AgregarArista(Arista A)
throws java.lang.Exception
Orden(1)
Parameters:
A - = arista que se desea agregar
Returns:
Grafo(TAD)
Preconditions:
La arista no debe existir en el grafo
Postconditions:
Se agrega la arista al grafo
EliminarArista
public Grafo EliminarArista(Arista A)
Orden(n)
Parameters:
A - = arista que se desea agregar
Returns:
Grafo(TAD)
Preconditions:

true
Postconditions:
Si la arista existe en el grafo, se elimina del mismo
EsVertice
public boolean EsVertice(Vertice V)
Orden(n)
Parameters:
V - = vertice que se desea buscar
Returns:
Booleano
Preconditions:
true
Postconditions:
Si el vertice existe en el grafo devuelve true, en caso contrario, devuelve fals
e
EsArista
public boolean EsArista(Arista A)
throws java.lang.Exception
Orden(n)
Parameters:
A - = arista que se desea buscar
Returns:
Booleano
Preconditions:
true
Postconditions:
Si la arista existe en el grafo devuelve true, en caso contrario, devuelve false
Grado
public int Grado(Vertice V)
Orden(n)
Parameters:
V - = es el vertice a analizar
Returns:
Grafo(TAD)
Preconditions:
true
Postconditions:
Si la arista no existe en el grafo, se agrega ?sta al mismo
Adyacentes
public ConjuntoVertices Adyacentes(Vertice V)
Orden(n^2)
Parameters:
V - = es el vertice a analizar
Returns:
Grafo(TAD)
Preconditions:
true
Postconditions:
devuelve un conjunto de vertices que contiene los vertices adyacentes a V
CadenaQueEviteVertices
public Cadena CadenaQueEviteVertices(Vertice V,
Vertice W,
ConjuntoVertices C)
throws java.lang.Exception
Orden(n^2)

Parameters:
V - = Vertice inicial
W - = Vertice terminal
C - = Conjunto de vertices a evitar
Returns:
Cadena(TAD)
Preconditions:
V es diferentes de W
Postconditions:
Devuelve una cadena de V a W que evite los vertices del conjunto C. Si no existe
la cedena o V = W devuelve una cadena vacia.
Expandir
private java.util.Vector Expandir(Cadena Pj,
ConjuntoVertices Ady)
throws java.lang.Exception
Orden(n)
Parameters:
Pj - = Cadena a expandir
Ady - = Conjunto de vertices adyacentes al ultimo vertice de la cadena Pj
Returns:
Vector
Preconditions:
Complemento de CadenaQueEviteVertices
Postconditions:
Devuelve una cadena expandida a partir del ultimo vertice de la cadena Pj
RutinaEliminacion
private void RutinaEliminacion(java.util.Vector
ConjuntoVertices
java.util.Vector
Orden(n)
Parameters:
Pj - = Cadena a expandida
C - = Conjunto de vertices a evitar
Abiertos - = un Vector de Cadena
Returns:
nada
Preconditions:
Complemento de CadenaQueEviteVertices
Postconditions:
A?ade a los abiertos los caminos que eviten los
Busqueda

Pi,
C,
Abiertos)

vertices de C

private Cadena Busqueda(java.util.Vector V,


Vertice W)
throws java.lang.Exception
Orden(n)
Parameters:
V - = Vertice incial
W - = Vertice final
Returns:
Cadena(TAD)
Preconditions:
Complemento de CadenaQueEviteVertices
Postconditions:
Devuelve una cadena de V a W de los caminos Cerrados, si la cadena no existe dev
uelve la cadena vacia.
CadenaXfs

public Cadena CadenaXfs(Vertice V,


Vertice W,
int opcion)
throws java.lang.Exception
Orden(n^2)
Parameters:
V - = Vertice inicial
W - = Vertice terminal
opcion - = numero de algoritmo a correr
Returns:
Cadena(TAD)
Preconditions:
V es diferentes de W
Postconditions:
Devuelve una cadena de V a W, aplicando BFS si opcion = 0, o DFS si opcion disti
nto de 0 Si no existe la cedena o (V = W) devuelve una cadena vacia.
dfs
private static Cadena dfs(Vertice V,
Vertice W)
throws java.lang.Exception
Orden(n^2)
Parameters:
V - = Vertice inicial
W - = Vertice terminal
Returns:
Cadena(TAD)
Preconditions:
V es diferente de W
Postconditions:
Devuelve una cadena de V a W (Aplicando DFS) Si no existe la cedena o V = W devu
elve una cadena vacia.
bfs
private static Cadena bfs(Vertice V,
Vertice W)
throws java.lang.Exception
Orden(n^2)
Parameters:
V - = Vertice inicial
W - = Vertice terminal
Returns:
Cadena(TAD)
Preconditions:
V es diferente de W
Postconditions:
Devuelve una cadena de V a W (Aplicando BFS) Si no existe la cedena o V = W devu
elve una cadena vacia.
NumeroVertices
public int NumeroVertices()
Orden(n)
Parameters:
ninguno Returns:
Entero
Preconditions:
true
Postconditions:
devuelve el numero de vertices del grafo

NumeroAristas
public int NumeroAristas()
Orden(n)
Parameters:
ninguno Returns:
Entero
Preconditions:
true
Postconditions:
devuelve el numero de aristas del grafo
ObtenerArista
public Arista ObtenerArista(int u,
int v)
throws java.lang.Exception
Orden(n)
Parameters:
u,v - son los identificadores de los vertices de la arista quw se desea buscar.
Returns:
Arista(TAD)
Preconditions:
true
Postconditions:
Devuelve la arista si existe en caso contrario, devuelve null
ObtenerVertice
public Vertice ObtenerVertice(int n)
Orden(n)
Parameters:
n - = numero del vertice a buscar
Returns:
Vertice(TAD)
Preconditions:
n >= 0 y n < NumeroVertices()
Postconditions:
devuelve el vertice de identificador n, si el vertice no existe en el grafo devu
elve null
ObtenerListaDeVertices
public java.util.LinkedList[] ObtenerListaDeVertices()
Orden(1)
Parameters:
ninguno Returns:
LinkedList[]
Preconditions:
true
Postconditions:
devuelve la lista de vertices y aristas
HacerPausa
private static void HacerPausa(java.lang.String Mensaje)
Orden(1)
Parameters:
Mensaje - = mensaje que se desea mostrar
Returns:
nada
Preconditions:

true
Postconditions:
Se hace una pausa y se muestra un mensaje
hasNext
public boolean hasNext()
Orden(1)
Specified by:
hasNext in interface java.util.Iterator
Parameters:
ninguno Returns:
boolean
Preconditions:
true
Postconditions:
Devuelve true si existe un siguiente elemento
next
public java.lang.Object next()
Orden(1)
Specified by:
next in interface java.util.Iterator
Parameters:
ninguno Returns:
Object
Preconditions:
hasNext() es verdadero
Postconditions:
Devuelve el siguiente elemento
setPosition
public void setPosition(int p)
Orden(1)
Parameters:
p - = posicion
Returns:
nada
Preconditions:
p debe ser mayor o igual a cero, y menor que el numero de vertices del grafo
Postconditions:
asigna la posicion del iterador
hasPrevious
public boolean hasPrevious()
Orden(1)
Parameters:
ninguno Returns:
boolean
Preconditions:
true
Postconditions:
Devuelve true si existe un elemento previo
previous
public java.lang.Object previous()
Orden(1)
Parameters:

ninguno Returns:
Object
Preconditions:
hasPrevious() es verdadero
Postconditions:
Devuelve el elemento previo
remove
public void remove()
Formalismo (No aplica)
Specified by:
remove in interface java.util.Iterator

Вам также может понравиться