# Algorithms

## Dijkstra's Algorithm

Dijkstra's algorithm is a graph search algorithm that finds the shortest path between nodes in a graph. It uses a priority queue to explore nodes, always expanding the node with the shortest known distance from the start node. The algorithm guarantees the shortest path in graphs with non-negative weights.

## A* Algorithm

A* (A-star) is a graph search algorithm that finds the shortest path between nodes using both the actual distance from the start node (g-cost) and a heuristic estimate of the remaining distance to the goal (h-cost). It prioritizes nodes that appear to lead most directly to the goal, making it more efficient than Dijkstra's algorithm in many cases.