2. Analyzing Time Complexities
Data Structures
1. Array
| Operation |
Average case |
Worst case |
Amortized |
| Insert |
O(n) |
O(n) |
O(n) |
| Delete |
O(n) |
O(n) |
O(n) |
| Access |
O(1) |
O(1) |
O(1) |
2. Linked List
| Operation |
Average case |
Worst case |
Amortized |
| Insert |
O(1) |
O(1) |
- |
| Delete |
O(1) |
O(1) |
- |
| Access |
O(n) |
O(n) |
- |
3. Heap
| Operation |
Average case |
Worst case |
Amortized |
| Insert |
O(log n) |
O(log n) |
O(log n) |
| Delete |
O(log n) |
O(log n) |
O(log n) |
| Heapify |
O(n) |
O(n) |
O(n) |
| Access largest/smallest |
O(1) |
O(1) |
O(1) |
4. Hash Table
| Operation |
Average case |
Worst case |
Amortized |
| Insertion |
O(1) |
O(n) |
- |
| Deletion |
O(n) |
O(n) |
- |
| Access |
O(1) |
O(1) |
- |
5. Binary search tree
| Operation |
Average case |
Worst case |
Amortized |
| Insert |
O(logn) |
O(n) |
- |
| Delete |
O(logn) |
O(n) |
- |
| Access |
O(logn) |
O(n) |
- |
Algorithms
1. Sorting
| Algorithm |
Best case |
Average case |
Worst case |
Amortized |
| Bubble sort |
O(n) |
- |
O(n^2) |
- |
| Quick sort |
O(nlogn) |
- |
O(n^2) |
- |
| Insertion sort |
O(n) |
- |
O(n^2) |
- |
| Merge sort |
O(nlogn) |
- |
O(nlogn) |
- |
| Heap sort |
O(nlogn) |
- |
O(nlogn) |
- |
2. Searching
| Algorithm |
Best case |
Average case |
Worst case |
Amortized |
| Linear |
O(1) |
- |
O(n) |
- |
| Binary |
O(1) |
- |
O(logn) |
- |
Last updated on May 19, 2024