This repository contains implementations of various algorithms in Python and C. It currently includes the implementation of the Merge Sort algorithm, and more algorithms will be added in the future.
-
Merge Sort: An efficient sorting algorithm that uses the "divide and conquer" technique to sort a list of elements.
-
Random Search: Random search algorith for search for a value x in a unsorted array A consisting of n elements
-
Counting Sort: Counting Sort is an efficient sorting algorithm that works well when input numbers are in a small, positive range. Instead of comparing elements, this algorithm counts the frequency of each element and then reconstructs the sorted list.
-
Radix Sort: Radix Sort is a sorting algorithm that operates on integers by processing the digits of numbers rather than comparing the entire values. It sorts numbers by each digit, from the least significant digit to the most significant digit, creating a sorted list.
-
Bucket Sort: Bucket Sort is a sorting algorithm that works by dividing the range of input values into a set of "buckets," and then sorting each bucket individually, either using another sorting algorithm or recursively using Bucket Sort. The sorted buckets are then concatenated to obtain the final sorted list.
-
More algorithms will be available soon.
Figure 1: Comparison of time complexity of linear sorting algorithms.
/python
: Contains implementations of algorithms in Python./c
: Contains implementations of algorithms in C./others
: Space for possible implementations in other languages in the future.
Detailed instructions are provided in each language-specific folder on how to execute the algorithms.
We hope you find these algorithm implementations useful! If you have questions, suggestions, or encounter issues, feel free to reach out.