- Class: BSFSolver
- Description: Finds the shortest path in a weighted graph using a queue (LinkedList). Expands nodes in the order they are discovered.
- Class: DijkstraSolver
- Description: Finds the shortest path in a weighted graph using a priority queue (PriorityQueue). Always expands the node with the smallest known distance. Efficient for weighted graphs.
- Class: DijkstraTreeSetSolver
- Description: Uses a TreeSet with a custom comparator to maintain nodes ordered by distance. Provides similar asymptotic complexity to a binary heap, but uses a different data structure.