Sorting algorithms

Project done during Full Stack Software Engineering studies at ALX Africa. It aims to learn about sorting algorithms (Bubble sort, Insertion sort, Selection sort, Quick sort and so on) and Big O Notation in C language.

Technologies

  • Scripts written in Bash / vi
  • C files are compiled using gcc 9.4.0
  • Tested on Ubuntu 20.04

Files

All of the following programs are written in C:

Filename Description
0-bubble_sort.c Function that sorts an array of integers in ascending order using the Bubble sort algorithm
0-O File that stores the best, average and worst case of the time complexity of the Bubble sort algorithm
1-insertion_sort_list.c Function that sorts an array of integers in ascending order using the Insertion sort algorithm
1-O File that stores the best, average and worst case of the time complexity of the Insertion sort algorithm
2-selection_sort.c Function that sorts an array of integers in ascending order using the Selection sort algorithm
2-O File that stores the best, average and worst case of the time complexity of the Selection sort algorithm
3-quick_sort.c Function that sorts an array of integers in ascending order using the Quick sort algorithm
3-O File that stores the best, average and worst case of the time complexity of the Quick sort algorithm
100-shell_sort.c Function that sorts an array of integers in ascending order using the Shell sort algorithm
100-O File that stores the best, average and worst case of the time complexity of the Shell sort algorithm
101-cocktail_sort_list.c Function that sorts an array of integers in ascending order using the Cocktail shaker sort algorithm
101-O File that stores the best, average and worst case of the time complexity of the Cocktail shaker sort algorithm
102-counting_sort.c Function that sorts an array of integers in ascending order using the Counting sort algorithm
102-O File that stores the best, average and worst case of the time complexity of the Counting sort algorithm
103-merge_sort.c Function that sorts an array of integers in ascending order using the Merge sort algorithm
103-O File that stores the best, average and worst case of the time complexity of the Merge sort algorithm
104-heap_sort.c Function that sorts an array of integers in ascending order using the Heap sort algorithm
104-O File that stores the best, average and worst case of the time complexity of the Heap sort algorithm
105-radix_sort.c Function that sorts an array of integers in ascending order using the Radix sort algorithm
105-O File that stores the best, average and worst case of the time complexity of the Radix sort algorithm
106-bitonic_sort.c Function that sorts an array of integers in ascending order using the Bitonic sort algorithm
106-O File that stores the best, average and worst case of the time complexity of the Bitonic sort algorithm