Skip to content

Latest commit

 

History

History
49 lines (29 loc) · 1.1 KB

File metadata and controls

49 lines (29 loc) · 1.1 KB

Design and Analysis of Algorithms (DAA)

This repository contains C++ implementations of core algorithmic paradigms studied in the Design and Analysis of Algorithms (DAA) course. These paradigms focus on designing efficient solutions and analyzing their time and space complexity.


Algorithms Covered

1. Dynamic Programming

  • Used for problems with overlapping subproblems and optimal substructure
  • Improves efficiency by storing intermediate results
  • Example: Fibonacci sequence

2. Backtracking

  • Systematically explores all possible solutions
  • Backtracks when a partial solution is not valid
  • Example: Binary string generation

3. Divide and Conquer

  • Divides a problem into smaller subproblems
  • Solves recursively and combines results
  • Example: Merge Sort

4. Greedy Algorithms

  • Makes the locally optimal choice at each step
  • Produces optimal solutions for certain problems
  • Example: Coin Change

Language Used

  • C++

Applications

  • DAA coursework and lab assignments
  • Algorithm design and complexity analysis
  • Technical interview preparation