I was asked to create a shortest path algorithm in java to use with OSRM.
I want to create a route between some points (normally more than 3). The first one, will be the starting point and also the last point (close route). Other point have to be the last before the last one and rest of points have to be ordered taking the shortest path between the first and the last before the first again.
I think this is no possible to do with TSP because TSP doesn't have a known first point and also it is not possible to determine if a point have to be visited in a concrete position. Is it possible?
So I think I should use dijkstra for that and create a route between the starting point and the last before the starting point, after that, add the starting point to the route.
Talking about Dijkstra with some friends, I was adviced about Dijkstra doesn't visit all points always, maybe some of them are left out the route.. .Is this true? Also I hear about Dijkstra doesn't create a route, it creates a tree... also, is it true?
Which algotirhm should I implement?
Thanks and sorry for brick ;)