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); }
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; }
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); } }
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); } }
public List <Arco> GetArcs(Nodo N) { return(Arcos[N]); }
int GetLayer(Nodo N) { foreach (var Pair in Layers) if (Pair.Value.Contains(N)) return Pair.Key; return -1; }
public List<Arco> GetArcs(Nodo N) { return Arcos[N]; }