- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

In theoretical analysis of algorithms, it is common to estimate their complexity in the asymptotic sense, i.e., to estimate the complexity function for arbitrarily large input. The term **"analysis of algorithms"** was coined by Donald Knuth.

Algorithm analysis is an important part of computational complexity theory, which provides theoretical estimation for the required resources of an algorithm to solve a specific computational problem. Most algorithms are designed to work with inputs of arbitrary length. Analysis of algorithms is the determination of the amount of time and space resources required to execute it.

Usually, the efficiency or running time of an algorithm is stated as a function relating the input length to the number of steps, known as **time complexity**, or volume of memory, known as **space complexity**.

- Algorithms and Complexities
- Asymptotic analysis
- Asymptotic notations
- Amortized analysis
- Space Complexity
- Pseudo Polynomial Type Algorithm and PATS (Pseudo Polynomial Type Approximation Scheme)

- Related Questions & Answers
- Introduction to Backtracking Algorithms
- Introduction to Searching Algorithms
- Introduction to Greedy Algorithms
- Introduction to Graph Algorithms
- Introduction to Pattern Searching Algorithms
- Introduction to Divide & Conquer Algorithms
- Introduction to Algorithms for Mathematical Problems
- Introduction to Databases
- Introduction to Backtracking
- Introduction to Miscellaneous Problems
- Introduction to Sorting Techniques
- Introduction to Dynamic Programming
- Introduction to Mathematical Logic!
- Rebalancing Algorithms
- Compare trend analysis and comparative analysis.

Advertisements