A curated Python project implementing data structures and algorithms from scratch, including dynamic arrays, bit vectors, linked lists, hash maps, priority queues, bloom filters, and graph traversal/pathfinding routines.
This repository was built by combining the strongest parts of two university projects and then cleaning, restructuring, and documenting them for portfolio use.
- custom core data structures implemented without relying on Python's built-in equivalents
- algorithmic problem solving using those structures in realistic tasks
- graph traversal and shortest-path search
- probabilistic membership testing with a Bloom filter
- clean modular organisation across
structures,algorithms, andapplications
dynamic_array.py— resizable array with sorting supportbit_vector.py— compact bit storagelinked_list.py— doubly linked listmap.py— hash map with separate chainingpqueue.py— binary min-heap priority queuebloom_filter.py— probabilistic set membershipgraph.pyanddirected_graph.py— graph representations used by traversal algorithms
pathfinding.py— BFS, DFS, and Dijkstra traversalproblems.py— examples using the project data structures in traversal and filtering tasks
warmup_challenges.py— selected algorithmic challenge functions adapted into a cleaner module:missing_oddsk_coolnumber_gameroad_illumination
python examples.pypython -m unittest discover -s testsI wanted one repository that highlights CS fundamentals clearly for graduate software roles: building core data structures, applying them to algorithmic problems, and organising the code like a real project rather than leaving it as raw coursework.