Implementations
Data Structures
Linear Data Structures
Structures that store data elements sequentially.
- Array
- Linked List
- Stack
- Queue
Non-linear Data Structures
Structures that store data in a hierarchical or networked manner.
- Tree
- Graph
Hash-based Data Structures
Structures that use hash functions for efficient data storage and retrieval.
- HashMap
- HashSet
Algorithms
Search Algorithms
Algorithms for finding specific elements in a data structure.
- Linear Search
- Binary Search
- Fibonacci Search
- Interpolation Search
- Exponential Search
Sorting Algorithms
Algorithms for arranging elements in a specific order.
- Bubble Sort
- Insertion Sort
- Selection Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Radix Sort
- Counting Sort
- Bucket Sort
- Shell Sort
Time Complexity Tables
Search Algorithms
Algorithm | Best Case | Average Case | Worst Case |
---|---|---|---|
Linear Search | O(1) | O(n) | O(n) |
Binary Search | O(1) | O(log n) | O(log n) |
Fibonacci Search | - | - | - |
Interpolation Search | - | - | - |
Exponential Search | - | - | - |
Sorting Algorithms
Algorithm | Best Case | Average Case | Worst Case |
---|---|---|---|
Quick Sort | O(n log n) | O(n log n) | O(n^2) |
Merge Sort | O(n log n) | O(n log n) | O(n log n) |
Heap Sort | O(n log n) | O(n log n) | O(n log n) |
Insertion Sort | O(n) | O(n^2) | O(n^2) |
Selection Sort | O(n^2) | O(n^2) | O(n^2) |
Bubble Sort | O(n) | O(n^2) | O(n^2) |