Skip to content
All systems
On GitHubMALULEKE-KS

Graph Search Engine

Production-grade uninformed search algorithm library implementing BFS, DFS, and IDDFS for graph traversal and pathfinding

  • Python
  • NetworkX
View the source
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.
Activity

How it's moving.

26 weeks agothis week

5 commits in the last 26 weeks