Exemplo n.º 1
0
        public Nodoh getNodo(string estado)
        {
            Nodoh nodo = new Nodoh();

            foreach (Nodoh nod in Nodos)
            {
                if (nod.Estado == estado)
                {
                    nodo = nod;
                    break;
                }
            }
            return(nodo);
        }
Exemplo n.º 2
0
        public List <NodoCosto> getVecinosCosto(string estado, int acum, List <string> explorados)
        {
            Nodoh            nodo   = getNodo(estado);
            List <NodoCosto> costos = new List <NodoCosto>();

            foreach (var subN in nodo.SubNodos)
            {
                if (!explorados.Contains(subN.ArcoNodo))
                {
                    costos.Add(new NodoCosto()
                    {
                        Costo    = (acum + subN.Costo) + getNodo(subN.ArcoNodo).Heuristica,
                        Nodo     = subN.ArcoNodo,
                        ArcCosto = subN.Costo
                    });
                }
            }
            return(costos);
        }