Skip to content

Latest commit

 

History

History
37 lines (20 loc) · 2.15 KB

File metadata and controls

37 lines (20 loc) · 2.15 KB

Algorithm Implementations in Python and C

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.

Implemented Algorithms

  • 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.

Time complexity comparison for linear sorting algorithms

Time Complexity Comparison Figure 1: Comparison of time complexity of linear sorting algorithms.

Repository Structure

  • /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.

How to Run the Algorithms

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.