First off, I apologize for my bad paint drawing of the graph. The weights are obviously not scaled. I am having a hard time coming up with the algorithms to solve a few problems.
First, I want to find all paths that take 3 "stops" or less from C to C (just an example... can be any two vertexes). After researching, I found that BFS might be what I'm looking for to solve this problem. Am I correct in this assumption?
There are two paths that have 3 stops or less:
C -> D -> C
C -> E -> B -> C
I also want to find the shortest path from A to C (just an example.. can be any two vertexes). After doing a little bit of research, I came to the conclusion that I should use Dijkstra's algorithm. Am I correct in this assumption? If so, I saw that there are various implementations. Does it matter if I use binary heap, fibonacci heap, or queue?
Thank you and please let me know if you need any more information!