Example #1
0
        public double W; //Peso

        #endregion Fields

        #region Constructors

        public Arco(Nodo I, Nodo F, Random R)
        {
            Ini = I;
            Fin = F;
            W = R.NextDouble() / 1000.0;
            Console.WriteLine(W);
        }
Example #2
0
        public List<Arco> GetArcsInv(Nodo N)
        {
            List<Arco> Tmp = new List<Arco>();

            foreach (Nodo I in Layers[GetLayer(N) + 1])
                foreach (Arco A in Arcos[I])
                    if (A.Ini.Equals(N))
                        Tmp.Add(A);

            return Tmp;
        }
Example #3
0
        public void AddNodeToLayer(int Layer,int N_Node)
        {
            for (int j = 0; j < N_Node; j++)
            {
                Nodo TmpN = new Nodo();
                if (Layer > 0)
                {
                    List<Arco> TmpA = new List<Arco>();
                    foreach (Nodo I in Layers[Layer - 1])
                        TmpA.Add(new Arco(I, TmpN, Aleatorio));
                    Arcos.Add(TmpN, TmpA);
                }
                if(!Layers.ContainsKey(Layer))
                    Layers.Add(Layer,new List<Nodo>());

                Layers[Layer].Add(TmpN);
            }
        }
Example #4
0
        public Red(int N_Layers, int NxL)
        {
            Layers = new Dictionary<int, List<Nodo>>();
            Arcos = new Dictionary<Nodo, List<Arco>>();
            Aleatorio = new Random(DateTime.Now.Millisecond);

            for (int i = 0; i < N_Layers; i++)
            {
                List<Nodo> tmp = new List<Nodo>();
                for (int j = 0; j < NxL; j++)
                {
                    Nodo TmpN = new Nodo();
                    if (i > 1)
                    {
                        List<Arco> TmpA = new List<Arco>();
                        foreach (Nodo I in Layers[i-1])
                            TmpA.Add(new Arco(I, TmpN, Aleatorio));
                        Arcos.Add(TmpN, TmpA);
                    }
                    tmp.Add(TmpN);
                }
                Layers.Add(i, tmp);
            }
        }
Example #5
0
 public List <Arco> GetArcs(Nodo N)
 {
     return(Arcos[N]);
 }
Example #6
0
 int GetLayer(Nodo N)
 {
     foreach (var Pair in Layers)
         if (Pair.Value.Contains(N))
             return Pair.Key;
     return -1;
 }
Example #7
0
 public List<Arco> GetArcs(Nodo N)
 {
     return Arcos[N];
 }