Implementación Implementación

Vamos a pasar a la implementación de estos algoritmos. El código será, sin embargo, muy genérico, lo que permitirá fácilmente agregar nuevos métodos de resolución o nuevos problemas para resolver.

A continuación, lo aplicaremos al problema del mapa, mediante una aplicación de consola.

1. Nodos, arcos y grafos

La primera etapa consiste en definir nuestros grafos. Vamos a empezar por los nodos; a continuación, veremos los arcos que los enlazan y, por último, el grafo completo.

a. Implementación de los nodos

Los nodos son las estructuras básicas de nuestros grafos. Sin embargo, el contenido real de un nodo depende en gran medida del problema que se desea resolver: puede tratarse de estaciones, de casillas en una cuadrícula, de servidores, de ciudades...

Creamos, por tanto, una clase abstracta Node, que contendrá la información necesaria para los algoritmos. Esta clase debe ser heredada para la resolución práctica de un problema.

Los nodos necesitan tres datos:

  • El precursor, que es también un nodo.

  • La distancia desde el inicio.

  • La distancia estimada hasta el destino (si es necesario).

Utilizaremos propiedades. En el caso de las dos primeras, poseen valores por defecto.


public abstract class Node  
{  
    private Node precursor = null;  
    internal Node Precursor  
    {  
           get  ...
Si desea saber más, le proponemos el siguiente libro:
couv_DPT2INT.png
60-signet.svg
Versión impresa
20-ecran_lettre.svg
Versión online
41-logo_abonnement.svg
En ilimitado con la suscripción ENI
130-boutique.svg
En la tienda oficial de ENI
Anterior
Dominios de aplicación
Siguiente
Resumen