示例#1
0
        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);
        }
示例#2
0
        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);
        }