Algoritmo para crear un nodo
Enviado por rene.cordero • 1 de Abril de 2015 • 709 Palabras (3 Páginas) • 257 Visitas
PRACTICA N°4
Desarrolle un caso práctico y utilice las clases que ha declarado anteriormente.
____________________________________________________________________________________________
Desarrollar un algoritmo para crear un nodo e insertar aristas este algoritmo insertara datos de ciertas ciudades y distancias que vienen a ser las Aristas, la distancia es igual que el peso. Sabemos que Arequipa es 1, Ayacucho es 2, Apurimac es 3, Tacna es 4 y Lima es 5.
Este es un Grafo No Dirigido por lo cual no usariamos El Algoritmo de Dijkstra porque no tendriamos una ruta corta.
1(Arequipa)-----------2(Ayacucho)
| \78 / |
| \ 32/ |
| \ / |
34| 5(Lima) |55
| / \ |
| /44 \ |
| / 93\ |
3(Apurimac)----------4(Tacna)
61
CLASE Nodo:
__________
ATRIBUTOS: // Atributos Info de tipo entero y Siguiente de tipo Nodo.
- info : Entero
- sig : Nodo
- visitado = Falso
________
METODOS:
+ Nodo(info : TipoDeDato) : Constructor con un parametro
info <- info
sig <- nulo
FNodo
+ Nodo(info : TipoDeDato, sig : Nodo) : Constructor con dos parametros
info <- info
sig <- sig
FNodo
+ modificarSig(x)
sig <- x
Fmodificar
+ modificarInfo(x)
sig <- x
FmodificarInfo
+ accesarSig()
retornar sig
FaccesarSig
+ accesarInfo()
retornar info
FaccesarInfo
CLASE Lista:
ATRIBUTOS: //Atributo Inicio de tipo Nodo.
- inicio : Nodo
METODOS:
+ Lista() : Constructor
inicio <- nulo
FLista
+ esVacia()
inicio <- nulo
FesVacia
+ insertar(x : Entero)
nuevo : Nodo
nuevo <- nuevo Nodo(x)
nuevo.modificarSig(inicio)
inicio <- nuevo
Finsertar
+ eliminar(x : Entero)
ptr : Nodo
si (inicio<>nulo) entonces
ptr <- inicio
inicio <- inicio.accesarSig()
ptr <- nulo
fsi
Feliminar
+ busqueda(x : Entero)
ptr : Nodo
encontrado <- falso
repetir mientras (ptr <> nulo y encontrado == falso) hacer
ptr <- ptr.accesarSig()
si (x == ptr.accesarInfo()) entonces
encontrado <- verdadero
ptr.accesarInfo()
Fsi
Fmientras
Fbusqueda
FCLASELista
CLASE Grafo:
_________
ATRIBUTO:
- dirigido : Logico // indica si es dirigido o no
- maxNodos : Entero //
...