0

複数のエッジの重み付けが保存されているグラフがあります

namespace boost {
    enum edge_weightvector_t {
        edge_weightvector = 1337
    };
    BOOST_INSTALL_PROPERTY(edge, weightvector);
}

typedef boost::adjacency_list<
    boost::vecS,
    boost::vecS,
    boost::undirectedS,
    boost::no_property,
    boost::property<boost::edge_weightvector_t, std::vector<int> >
> graph_t;

重み付けはすべてベクトルにプッシュされます。

prim_minimum_spanning_tree()ここで、ベクトルの最初の要素を重みとして使用して、グラフで関数を呼び出したいと思います。

正しい関数呼び出しを実行するにはどうすればよいですか?

4

2 に答える 2

0

最初に目的の重み付けを追加のプロパティにコピーし、次にアルゴリズムを実行してからコピーすることで、今それを行いました。それは醜いですが、私の場合はうまくいきます。

于 2010-10-29T18:29:38.003 に答える