Skip to content

Latest commit

 

History

55 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++ Data Structures & Algorithms

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.

Modules

Part 1 — OOP Fundamentals

  • Expression evaluator with operator precedence
  • Countdown solver
  • COVID-19 case tracking with distance calculations

Part 2 — Templates & Maps

  • Generic map implementation using templates
  • COVID case data aggregation with custom comparators
  • String construction and memory management

Part 3 — Linked Lists

  • Templated singly-linked list with iterator support
  • Node-based memory management
  • Destructor correctness and deep copy semantics

Part 4 — Binary Search Trees

  • Self-balancing tree map (key-value store)
  • In-order traversal, insertion, lookup
  • Templated tree nodes with proper ownership

Part 5 — Search Algorithms & Sudoku

  • Breadth-First Search — Exhaustive Sudoku solver
  • Best-First Search — Heuristic-guided solver with constraint propagation
  • Searchable interface abstraction for pluggable strategies

Tech Stack

Component Technology
Language C++17
Build Makefile / g++
Testing Custom test harnesses

Building & Testing

cd Part1 && make && ./test
cd Part5 && g++ -std=c++17 BestFSSudoku.cpp -o sudoku && ./sudoku

Context

Practical Experiences of Programming (5CCS2PEP) coursework at King's College London. Covers C++ memory management, RAII, template metaprogramming, and algorithmic problem solving.

About

C++ data structures and algorithms — linked lists, tree maps, Sudoku solvers, search strategies

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages