- Theory of Computation (history)
- Complexity Theory (history)
- Big O Notation
- Memory Consumption
- Greedy Algorithms
- Searching
- Sorting
- Hashing
- Dynamic Programming
- Greedy Algorithms
- Write a program to implement linear search.
- Write a program to implement binary search.
- Write a function to determine the number of swaps performed by the Bubble Sort algorithm for a given input array.
- Implement the Merge Sort algorithm to sort an array of integers in ascending order.
- Compare the space complexity of Merge Sort with other sorting algorithms.
- Investigate the worst-case time complexity of the Quick Sort algorithm and identify scenarios where it occurs.
- Write a function to choose a randomized pivot for the Quick Sort algorithm to improve its efficiency.
- Write a function to verify the integrity of a file by comparing its MD5 hash with a provided hash value.
- Write a program to implement the Breadth First Search algorithm.