private void CalculatePathInformation() { Debug.Assert(pathInformation == null); if (commonInformation == null) { InitializeCommonInformation(); } pathInformation = new PathInformation(); int k = 0; double current = 0; for (int i = 0; i < container.Size; ++i) { for (int j = i + 1; j < container.Size; ++j) { double way = MinimumWay(i, j); if (way == -1) { continue; } else { current = way; } pathInformation.AveragePathLength += current; if (current > pathInformation.Diameter) { pathInformation.Diameter = current; } if (pathInformation.DistanceDistribution.ContainsKey(current)) { ++pathInformation.DistanceDistribution[current]; } else { pathInformation.DistanceDistribution.Add(current, 1); } ++k; } } pathInformation.AveragePathLength /= k; CalculateCommonInformation(); }
public QuickGraphAnalyzer(AbstractNetwork n) : base(n) { commonInformation = null; pathInformation = null; coefficientInformation = null; }