Exemple #1
0
        public static INode GetNodeByName(this IEnumerable <INode> node, Constants.NombresNodos val)
#if DEBUG
        {
            var result = node.First(n => n.Nombre.Equals(val));

            return(result);
        }
Exemple #2
0
        IEnumerable <INode> Dijsktra(Constants.NombresNodos inicio, Constants.NombresNodos fin)
        {
            _visitados  = new List <INode>();
            _porVisitar = new List <INode>();
            _camino     = Nodes.ToList();
            Inicio      = inicio;
            Destino     = fin;
            INode nodoActual;

            try
            {
                nodoActual            = _porVisitar.GetNodeByName(inicio);
                nodoActual.PesoMinimo = 0f;

                while (nodoActual.Nombre != fin)
                {
                    _porVisitar.Remove(nodoActual);
                    _visitados.Add(nodoActual);



                    foreach (var edge in nodoActual.Edges)
                    {
                        if (edge.Peso < nodoActual.PesoMinimo)
                        {
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(_camino);
        }