Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/josephakaro/sorting_algorithms

ALX Holberton School Sorting alogrithm repository By Joseph Akaro
https://github.com/josephakaro/sorting_algorithms

Last synced: 1 day ago
JSON representation

ALX Holberton School Sorting alogrithm repository By Joseph Akaro

Awesome Lists containing this project

README

        

# 0x1B. C - Sorting algorithms & Big O

## Resources:books:
Read or watch:
* [Big-O Algorithm Complexity Cheat](https://www.bigocheatsheet.com/)
* [Big O Notation - Ruby Reilly](https://medium.com/@rubyclaroreilly/big-o-notation-f2c0d0e60888)
* [Big O Notation: A primer for beginning devs](https://www.educative.io/blog/a-big-o-primer-for-beginning-devs?aid=5082902844932096&utm_source=google&utm_medium=cpc&utm_campaign=blog-dynamic&gclid=EAIaIQobChMIlb2ol-H36QIVTwiICR38HQ-LEAAYASAAEgJjGPD_BwE%3E)
* [Complete Beginner's Guide to Big O Notation](https://www.youtube.com/watch?v=kS_gr2_-ws8)
* [Data Structures - Asymptotic Analysis](https://www.tutorialspoint.com/data_structures_algorithms/asymptotic_analysis.htm)
* [RANDOM.ORG - Integer Set Generator](https://www.random.org/integer-sets/)
* [Sorting algorithm](https://en.wikipedia.org/wiki/Sorting_algorithm#Classification)
* [algorithm - What is a plain English explanation of "Big O" notation?](https://stackoverflow.com/questions/487258/what-is-a-plain-english-explanation-of-big-o-notation)
* [What is the time complexity of indexing, inserting and removing from common data structures?](https://stackoverflow.com/questions/122799/what-is-the-time-complexity-of-indexing-inserting-and-removing-from-common-data)
* [Sorting Algorithms Animations](https://www.toptal.com/developers/sorting-algorithms)
* [Sorting Algorithms BigPicture](https://www.youtube.com/watch?v=RLuBLU_NgaA)
* [algoritmos de ordenamiento](https://www.youtube.com/results?search_query=algoritmos+de+ordenamiento)
* [ALGORITMOS - METODOS DE ORDENAMIENTO](https://www.youtube.com/watch?v=VJ_EUuURRg4)
* [¿Qué es la complejidad algorítmica y con qué se come?](https://medium.com/@joseguillermo_/qu%C3%A9-es-la-complejidad-algor%C3%ADtmica-y-con-qu%C3%A9-se-come-2638e7fd9e8c)
* [Big O notation](https://en.wikipedia.org/wiki/Big_O_notation)
* [Análisis de la complejidad de los algoritmos](https://www.cs.us.es/~jalonso/cursos/i1m/temas/tema-28.html)
* [Rendimiento de algoritmos y notación Big-O](https://www.campusmvp.es/recursos/post/Rendimiento-de-algoritmos-y-notacion-Big-O.aspx)
* [Big-O is easy to calculate, if you know how](https://justin.abrah.ms/computer-science/how-to-calculate-big-o.html)
* [8 time complexities that every programmer should know](https://adrianmejia.com/most-popular-algorithms-time-complexity-every-programmer-should-know-free-online-tutorial-course/#Binary-search)

---
## Learning Objectives:bulb:
What you should learn from this project:

* At least four different sorting algorithms
* What is the Big O notation, and how to evaluate the time complexity of an algorithm
* How to select the best sorting algorithm for a given input
* What is a stable sorting algorithm

---

### [0. Bubble sort](./0-bubble_sort.c)
* Write a function that sorts an array of integers in ascending order using the Bubble sort algorithm

### [1. Insertion sort](./1-insertion_sort_list.c)
* Write a function that sorts a doubly linked list of integers in ascending order using the Insertion sort algorithm

### [2. Selection sort](./2-selection_sort.c)
* Write a function that sorts an array of integers in ascending order using the Selection sort algorithm

### [3. Quick sort](./3-quick_sort.c)
* Write a function that sorts an array of integers in ascending order using the Quick sort algorithm

### [4. Shell sort - Knuth Sequence](./100-shell_sort.c)
* Write a function that sorts an array of integers in ascending order using the Shell sort algorithm, using the Knuth sequence

### [5. Cocktail shaker sort](./101-cocktail_sort_list.c)
* Write a function that sorts a doubly linked list of integers in ascending order using the Cocktail shaker sort algorithm

### [6. Counting sort](./102-counting_sort.c)
* Write a function that sorts an array of integers in ascending order using the Counting sort algorithm

### [7. Merge sort](./103-merge_sort.c)
* Write a function that sorts an array of integers in ascending order using the Merge sort algorithm

### [8. Heap sort ](./104-heap_sort.c)
* Write a function that sorts an array of integers in ascending order using the Heap sort algorithm

### [9. Radix sort](./105-radix_sort.c)
* Write a function that sorts an array of integers in ascending order using the Radix sort algorithm

### [10. Bitonic sort](./106-bitonic_sort.c)
* Write a function that sorts an array of integers in ascending order using the Bitonic sort algorithm

### [11. Quick Sort - Hoare Partition scheme](./107-quick_sort_hoare.c)
* Write a function that sorts an array of integers in ascending order using the Quick sort algorithm

### [12. Dealer](./1000-sort_deck.c)
* Write a function that sorts a deck of cards.