Design and Analysis of Algorithms is a fundamental aspect of computer science that involves creating efficient solutions to computational problems and evaluating their performance. DSA focuses on designing algorithms that effectively address specific challenges and analyzing their efficiency in terms of time and space complexity.
Table of Content
Basics on Analysis of Algorithms:
- What is algorithm and why analysis of it is important?
- Asymptotic Notation and Analysis (Based on input size) in Complexity Analysis of Algorithms
- Worst, Average and Best Case Analysis of Algorithms
- Types of Asymptotic Notations in Complexity Analysis of Algorithms
- How to Analyse Loops for Complexity Analysis of Algorithms
- How to analyse Complexity of Recurrence Relation
- Introduction to Amortized Analysis
Asymptotic Notations:
- Analysis of Algorithms | Big-O analysis
- Difference between Big Oh, Big Omega and Big Theta
- Examples of Big-O analysis
- Difference between big O notations and tilde
- Analysis of Algorithms | Big – Ω (Big- Omega) Notation
- Analysis of Algorithms | Big – Θ (Big Theta) Notation
Some Advance topics:
- Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete
- Can Run Time Complexity of a comparison-based sorting algorithm be less than N logN?
- Why does accessing an Array element take O(1) time?
- What is the time efficiency of the push(), pop(), isEmpty() and peek() operations of Stacks?