KIAA - Algorithm Course Materials

Project Overview

KIAA is a curated set of C++ materials developed to support the university course "Construction and Analysis of Algorithms" (KIAA). The repository includes implementations of both foundational and advanced algorithmic concepts.

The goal was to solidify understanding of complex algorithms and data structures by implementing them from scratch, with clean, readable, and educational code examples.

Key Features & Highlights

  • Implemented advanced data structures: Prefix Trees (Tries), Union-Find, Segment Trees (standard and lazy) and Fenwick Trees.
  • Wrote clean and easy to read graph algorithms such as: Tarjan's bridge and articullation point finding algorithm, SCC, Dijkstra, topological sorting, Prime MST, Euler Cycle detecion, Belman-Ford and Floyd-Warshall
  • Implemented all the commonly used algebraic algorithms
  • Covered advanced string algorithms like KMP, Z-algorithm, and Manacher’s algorithm.
  • Included Fast Fourier Transform (FFT) for efficient polynomial multiplication.
  • Clean, well-documented code for each topic, ideal for studying or reference.
  • GitHub repository organized by algorithm type and use-case.

Technology Stack

C++ Data Structures Algorithms FFT KMP / Z-algorithm Manacher

Explore the Code

The full repository, including algorithm implementations and code samples, is available on GitHub. Perfect for students preparing for competitive programming or algorithm interviews.

View on GitHub