private DirectedGraphMatrix createGraphFromRows(List <Row> rows) { DirectedGraphMatrix graph = new DirectedGraphMatrix(Node.Indexer); for (int i = 0; i < rows.Count; ++i) { var row = rows[i]; foreach (var node in row) { graph.AddToColumn(i); foreach (var connectedTo in node.JoinedTo) { graph.MakeConnection(node.Index, connectedTo.Index); } } } return(graph); }
private DirectedGraphMatrix createGraphFromRows(List <Row> rows) { DirectedGraphMatrix graph = new DirectedGraphMatrix(Node.Indexer); for (int i = 0; i < rows.Count; ++i) { var row = rows[i]; foreach (var node in row) { graph.AddToColumn(i); foreach (var connectedTo in node.JoinedTo) { var flow = flows.First(f => f.Item1.Index == node.Index && f.Item2.Index == connectedTo.Index); graph.MakeConnection(node.Index, connectedTo.Index); graph.setWeight(node.Index, connectedTo.Index, flow.Item3); } } } return(graph); }