내가 부스트 그래프 라이브러리를 사용하여 그래프를 정의,부스트 그래프 라이브러리를 사용하여 그래프의 가장자리 무게를 어떻게 변경합니까?
typedef boost::property<boost::edge_weight_t, int> EdgeWeightProperty;
typedef boost::adjacency_list<boost::listS, boost::vecS,boost::undirectedS,boost::no_property,EdgeWeightProperty> Graph;
이 일단 가장자리의 무게를 변경하는 방법을 알아 내기 위해
boost::add_edge(vertice1, vertice2, weight, graph);
내가 아직 사용하여 가장자리를 추가 할 매우 간단합니다 설정되었습니다. 한 가지 가능한 해결책은 가장자리를 삭제하고 가중치 값이 업데이트 된 상태로 다시 추가하는 것입니다. 그러나 이는 과도한 것으로 보입니다.
무게가 가장자리의 소스 및 끝 정점의 함수 인 경우 어떻게됩니까? – Jim
@ 짐 (Jim) 당신은 웨이트가 정점의 일부 변수 (예 : 상태)의 함수 인 경우 어떻게 될까요? 지금은 각 에지가 두 개의 노드에 연결되어 있기 때문에 가중치는 기술적으로 두 꼭지점의 함수입니다. "소스/타겟"순서가 중요하다면 양방향 그래프를 사용할 수 있습니다. – AntA