Shortest path methods: a unifying approach