A progressive series of C++ implementations covering core data structures, algorithms, and search strategies. Builds from basic OOP through templates, linked lists, tree maps, and Sudoku solvers.
- Expression evaluator with operator precedence
- Countdown solver
- COVID-19 case tracking with distance calculations
- Generic map implementation using templates
- COVID case data aggregation with custom comparators
- String construction and memory management
- Templated singly-linked list with iterator support
- Node-based memory management
- Destructor correctness and deep copy semantics
- Self-balancing tree map (key-value store)
- In-order traversal, insertion, lookup
- Templated tree nodes with proper ownership
- Breadth-First Search — Exhaustive Sudoku solver
- Best-First Search — Heuristic-guided solver with constraint propagation
- Searchable interface abstraction for pluggable strategies
| Component | Technology |
|---|---|
| Language | C++17 |
| Build | Makefile / g++ |
| Testing | Custom test harnesses |
cd Part1 && make && ./test
cd Part5 && g++ -std=c++17 BestFSSudoku.cpp -o sudoku && ./sudokuPractical Experiences of Programming (5CCS2PEP) coursework at King's College London. Covers C++ memory management, RAII, template metaprogramming, and algorithmic problem solving.