Here's a flowchart that can help you figure out which data structure or algorithm should be used. Note that this flowchart is very general as it would be impossible to cover every single scenario.
Note: Note that this flowchart only covers basic method, and as such more advanced algorithms like Dijkstra's is excluded.