コード例 #1
0
 inline void
 prim_minimum_spanning_tree(Graph& G, Vertex s, Distance d, 
                            UniformCostVisitor visit)
 {
   prim_minimum_spanning_tree(G, s, d, get(edge_weight, G), 
                              get(vertex_color, G), 
                              get(vertex_index, G), 
                              visit);
 }
コード例 #2
0
ファイル: boost_interface.cpp プロジェクト: Findstat/sage
    // This function works only on undirected graphs with no parallel edge.
    std::vector<v_index> prim_min_spanning_tree() {
        std::vector<v_index> to_return;
        std::vector<vertex_descriptor> predecessors(num_verts());
        prim_minimum_spanning_tree(*graph, boost::make_iterator_property_map(predecessors.begin(), index));

        for (unsigned int i = 0; i < predecessors.size(); i++) {
            if (index[predecessors[i]] != i) {
                to_return.push_back(i);
                to_return.push_back(index[predecessors[i]]);
            }
        }
        return to_return;
    }
コード例 #3
0
 inline void
 prim_minimum_spanning_tree(Graph& G, Vertex s, Distance d)
 {
   prim_minimum_spanning_tree(G, s, d, ucs_visitor<>());
 }
コード例 #4
0
 inline void
 prim_minimum_spanning_tree(Graph& G, Vertex s)
 {
   prim_minimum_spanning_tree(G, s, get(vertex_distance, G));
 }