# 410241: Design and Analysis of Algorithms (DAA)

This repository contains valuable resources for the Design and Analysis of Algorithms course under the SPPU Computer Engineering syllabus (2019 pattern). It includes codes, handouts, notes, previous year questions (PYQs), and write-ups for assignments. The materials focus on developing problem-solving abilities, applying algorithmic strategies, analyzing performance, and creating efficient algorithms. Students will explore algorithmic examples in distributed and concurrent environments, enhancing their understanding of multithreaded and distributed algorithms.

---

## Index

### Notes

1. [Unit 1 - Algorithms and Problem Solving](Notes/Unit%201%20-%20Algorithms%20and%20Problem%20Solving)
2. [Unit 2 - Analysis of Algorithms and Complexity Theory](Notes/Unit%202%20-%20Analysis%20of%20Algorithms%20and%20Complexity%20Theory)
3. [Unit 3 - Greedy And Dynamic Programming algorithmic Strategies](Notes/Unit%203%20-%20Greedy%20And%20Dynamic%20Programming%20algorithmic%20Strategies)
4. [Unit 4 - Backtracking and Branch-n-Bound](Notes/Unit%204%20-%20Backtracking%20and%20Branch-n-Bound)
5. [Unit 5 - Amortized Analysis](Notes/Unit%205%20-%20Amortized%20Analysis)
6. [Unit 6 - Multithreaded And Distributed Algorithms](Notes/Unit%206%20-%20Multithreaded%20And%20Distributed%20Algorithms)

### Codes

1. [Code-A1 - Fibonacci Series](Codes/Code-A1.py)
2. [Code-A2 - Huffman Coding](Codes/Code_A2.java)
3. [Code-A3 - Fractical Knapsack](Codes/Code_A3.java)
4. [Code-A4 - 0/1 Knapsack](Codes/Code_A4.java)
5. [Code-A5 - N-Queen Problem](Codes/Code-A5.py)

> [!NOTE]
> C++ versions of all codes are available in the [./Codes/C++](./Codes/C++) directory.
> Python version of some codes are available in [./Codes/Python](./Codes/Python) directory.

### Practical

1. [Practical-1](Practical/Practical-1)
2. [Practical-2](Practical/Practical-2)
3. [Practical-3](Practical/Practical-3)
4. [Practical-4](Practical/Practical-4)
5. [Practical-5](Practical/Practical-5)

### Question Papers

- [IN-SEM](Question%20Papers/IN-SEM)
- [END-SEM](Question%20Papers/END-SEM)

### [IN-SEM PYQ Answers](Notes/IN-SEM%20PYQ%20Answers)
### [END-SEM PYQ Answers](Notes/END-SEM%20PYQ%20Answers)

---

## Miscellaneous

**-> Disclaimer:** Please read the [DISCLAIMER](DISCLAIMER.md) file for important information regarding the contents of this repository.

**-> Note:** Content such as codes, softcopies, write-ups and question papers is provided by us, i.e. our contributors. You are free to use this content however you wish, without any restrictions. Some of the notes and handouts have been provided by our professors, thus to use them for anything other than educational purposes, please contact them.

**-> Maintained by:**
- [notkshitij](https://git.kska.io/notkshitij)
- [TanmaySpamzzz](https://git.kska.io/TanmaySpamzzz)

**->** Repository icon from [Flaticon](https://www.flaticon.com).

**-> Motto:**

![Making information freely accessible to everyone.](motto.jpg)

**-> Keywords:**

SPPU, Savitribai Phule Pune University, Pune University, Computer Engineering, COMP, Fourth Year, Final Year, BE, Semester 7, SEM-7, Notes, Codes, Practical work, Handouts, Assignments, PYQs, Design and Analysis of Algorithms, DAA, Problem Solving, Algorithmic Strategies, Performance Analysis, Time Efficiency, Space Efficiency, Distributed Algorithms, Concurrent Algorithms, Multithreaded Algorithms, Asymptotic Performance, Scheduling Algorithms, Sorting Algorithms, Optimal Solutions,

---
