Skip to content

Answers for exercises from the Design and Analysis of Algorithms course at the university. Discover efficient C++ implementations of algorithms, data structures, and problem-solving strategies.

Notifications You must be signed in to change notification settings

haiphan2000/CS112-Design-And-Analysis-Of-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

CS112 - Design And Analysis Of Algorithms

A repository dedicated to storing my answer for exercises from the Design And Analysis Of Algorithms course at the university. Explore efficient algorithms, data structures, and problem-solving strategies using LaTeX in Overleaf for well-formatted documents and C++ for implementing algorithms, offering an integrated and collaborative approach to learning.

.
├── Algorithm Analysis
│   ├── Asymptotic Notations
│   ├── Nonrecursion Analysis
│   ├── Recursion Analysis
│   ├── Master Theorem
│   └── Empirical Analysis
└── Algorithm Design Strategies
│   ├── Divide And Conquer
│   ├── Dynamic Programming
│   └── Greedy

Contents

The repository is organized into 2 main sections:

ALGORITHM ANALYSIS.

This section delves into the essential principles and techniques integral to algorithm analysis. It encompasses a thorough exploration of asymptotic notations, such as Big-O, Big-Theta, and Big-Omega, for describing algorithmic growth rates.

The analysis extends to both nonrecursive and recursive algorithms, involving mathematical approaches to count assignment and comparison operators in nonrecursive pseudocode, prove theorems related to algorithmic notations, and apply frameworks like the master theorem, generating functions, or alternative methods for analyzing recursive functions.

Empirical analysis complements theoretical understanding, employing practical experiments to assess algorithm performance in real-world scenarios.

ALGORITHM DESIGN STRATEGIES.

Explore optimization problems and delve into diverse design strategies, encompassing Divide and Conquer, Dynamic Programming, and Greedy algorithms. Apply these strategies to problem-solving, and document your findings with comprehensive reports, covering problem formulation (input and output), solution concepts, pseudocode, example test cases, and in-depth analysis of time and space complexity.

About

Answers for exercises from the Design and Analysis of Algorithms course at the university. Discover efficient C++ implementations of algorithms, data structures, and problem-solving strategies.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published