add weights
reuse weights
Add path estimate and predecessor attributes
Implement relax and initialize single source