Пример #1
0
void TopologicSSSP::relaxEdge(int sourceComponent, int targetComponent, edge e) {
	if( m_componentDistanceArray[sourceComponent] + e->getWeight() < 
		m_componentDistanceArray[targetComponent]) {
			
			m_componentDistanceArray[targetComponent] = m_componentDistanceArray[sourceComponent] + e->getWeight();
			m_componentPredsArray[targetComponent] = e->getSource();
			m_componentBestArray[targetComponent] = e->getTarget();
	}
}
Пример #2
0
	bool operator() (edge &e1, edge &e2)
	{
		return e2.getWeight() < e1.getWeight();
	}