Welcome to the CSE 221: Algorithms repository! This repository is designed to help students understand efficient algorithm design techniques and analysis, as covered in the course. It includes various resources, including lab assignments, practice sheets, theory assignments, and past exam questions.
CSE 221 focuses on the study of efficient algorithms and the design techniques used to develop them. Topics include:
- Analysis and design of algorithms
- Divide and Conquer, Greedy Method, Dynamic Programming, Backtracking
- Basic search and traversal techniques
- Graph algorithms (shortest paths, depth-first search, network flow)
- Integer arithmetic (gcd, primality), polynomial and matrix calculations
- NP-hard and NP-complete problems
- Performance bounds, asymptotic analysis, worst-case and average-case behavior
- Sorting and searching algorithms
- Amortized analysis and lower bound theory
The course includes a compulsory 3-hour laboratory session every alternate week. Pre-requisite: CSE 220.
This repository contains the following sections:
Assignments designed to reinforce the application of algorithms and data structures in practical scenarios.
Questions from previous lab finals to help you prepare for the lab exam.
A set of exercises and problems to practice and test your knowledge of algorithms.
A collection of questions from previous semesters' exams to help with your final exam preparation.
Questions and problems from quizzes to assess your understanding and application of algorithm concepts.
Assignments focused on the theoretical aspects of algorithms, including their design and analysis.
To make the most of this repository:
- Clone the Repository:
git clone https://github.com/fah-ayon/Algorithms.git