Algorithms have associated complexity:
- space -> memory occupied
- time -> time taken to complete task irrespective of input size
- They have set of input and produces output
#Algorithms classification
- series-> sequential fashion
- parallel -> break data set and work on each simultaneously
- exact -> provides exact value as output
- approximate -> output may or may not be exact e.g. face recognition
- deterministic -> steps know
- non-deterministic -> based on guesses
- searching -> search specific data in a larger data
- sorting -> sort a dataset
- computational -> take one data set and return another data set
- collection -> navigating through elements in a dataset
Big-O notation: classifies performance as input size grows. O represents order of operation
| Notation | Description |
|---|---|
| O(1) | Constant |
| O(log n) | Logarithmic |
| O(n) | Linear time |
| O(nlogn) | Log-linear |
| O(n^2) | Quadratic |