Graph Search Engine
Production-grade uninformed search algorithm library implementing BFS, DFS, and IDDFS for graph traversal and pathfinding
- Python
- NetworkX
- Started
- May 2026
- Last push
- 5 months ago
- Commits this year
- 5
Written by AI from the repository · updated 5 days agoAI
The problem
Uninformed search — exploring a graph with no knowledge of where the goal is — underpins route-finding, puzzle solving and crawling. Built for an Artificial Intelligence module, this library implements the three classic strategies cleanly enough to compare them.
How it works
Each algorithm lives in its own module and takes a graph as an adjacency list:
- Breadth-first search — a queue (
collections.deque); visits level by level and finds the shortest path in an unweighted graph. Time O(V + E), space O(V). - Depth-first search — a stack; follows each branch to its end before backtracking.
- Iterative deepening DFS — repeated depth-limited searches with a growing limit, combining DFS's small memory footprint (O(d)) with BFS's completeness.
A runner executes all three on the same test tree and prints each visitation order, depth by depth for IDDFS, then draws the graph with NetworkX.
Engineering choices
- Type hints throughout, and a clear error when the start node isn't in the graph.
- One module per algorithm, so each can be read, tested and reused on its own.
How it's moving.
5 commits in the last 26 weeks