0x1B. C - Sorting algorithms & Big O

Description

This project is a partner project part of the curriculum of ALX School. Its aim is to explore, learn and implement most well-known sorting algorithms. It's also about understanding the Big O notation of time complexity. These algorithms are implemented in C.

#Author Imeogu

Table of contents

Files Description
sort.h Header file containing all the function prototypes and data structures for this project
print_list.c Function that prints a linked list
print_array.c Function that prints an array
0-bubble_sort.c Implementation of the Bubble sort algorithm
0-O Time complexity of Bubble sort
1-insertion_sort_list.c Implementation of the Insertion sort algorithm
1-O Time complexity of Insertion sort
2-selection_sort.c Implementation of the Selection sort algorithm
2-O Time complexity of Selection sort
3-quick_sort.c Implementation of the Quicksort algorithm
3-O Time complexity of Quicksort
100-shell_sort.c Implementation of the Shell sort algorithm
101-cocktail_sort_list.c Implementation of the Cocktail Shaker sort algorithm
102-counting_sort.c Implementation of the Counting sort algorithm
102-O Time complexity of Counting sort
103-merge_sort.c Implementation of the Merge sort algorithm
103-O Time complexity of Merge sort
104-heap_sort.c Implementation of the Heap sort algorithm
104-O Time complexity of Heap sort
105-radix_sort.c Implementation of the Radix sort algorithm
105-O Time complexity of Radix sort
106-bitonic_sort.c Implementation of the Bitonic sort algorithm
106-O Time complexity of Bitonic sort
107-quick_sort_hoare.c Implementation of the Quicksort algorithm with the Hoare partition scheme
1000-sort_deck.c Function that sorts a deck of cards
deck.h Header file for the card deck sorting functio