public void GetWorstRipTest() { // "тяжелое" ребро состоит из двух вершин: Rib badRib = new Rib(1, 3, 8); Rib actual = _track.GetWorstRib(); Assert.IsTrue(actual == badRib); }
public void GetBestRipTest() { // "легкое" ребро состоит из двух вершин: Rib bestRib = new Rib(0, 2, 5); Rib actual = _track.GetBestRib(); Assert.IsTrue(actual == bestRib); }
public UndirectedConnectedGraph(int[,] ribs, double[] weights) { CountOfNode = ribs[weights.Length - 1, 1]; CountOfRibs = weights.Length; _ribs = new Rib[weights.Length]; for (int i = 0; i < CountOfRibs; i++) { _ribs[i] = new Rib(ribs[i, 0], ribs[i, 1], weights[i]); } }
public UndirectedConnectedGraph(int defaultCountOfNode) { CountOfNode = defaultCountOfNode; CountOfRibs = (defaultCountOfNode * defaultCountOfNode - defaultCountOfNode) / 2; _ribs = new Rib[CountOfRibs]; int k = 0; for (int i = 0; i < defaultCountOfNode; i++) { for (int j = i + 1; j < defaultCountOfNode; j++) { _ribs[k] = new Rib(i, j, 1); k++; } } }
public override Rib GetBestRib() { Rib[] ribs = new Rib[Genotype.Length - 1]; for (int i = 0; i < ribs.Length; i++) { ribs[i] = _graph.GetRibByNodes(Genotype[i], Genotype[i + 1]); } double min = ribs[0].Weight; int j = 0; for (int i = 0; i < ribs.Length; i++) { if (min > ribs[i].Weight) { min = ribs[i].Weight; j = i; } } return ribs[j]; }
public void SetRib(int index, Rib newRib) { if (_ribs.Count() <= index || 0 > index) throw new UnexistingRibException(); _ribs[index] = newRib; }
public UndirectedConnectedGraph(Rib[] ribs) { CountOfNode = ribs[ribs.Length - 1].EndNode + 1; CountOfRibs = ribs.Length; _ribs = ribs; }
public override Rib GetWorstRib() { Rib[] ribs = new Rib[Genotype.Length]; for (int i = 0; i < ribs.Length - 1; i++) { ribs[i] = _graph.GetRibByNodes(Genotype[i], Genotype[i + 1]); } ribs[ribs.Length - 1] = _graph.GetRibByNodes(Genotype[0], Genotype[Genotype.Length - 1]); double max = ribs[0].Weight; int j = 0; for (int i = 0; i < Genotype.Length; i++) { if (max < ribs[i].Weight) { max = ribs[i].Weight; j = i; } } return ribs[j]; }