This course will help to understand seven most important comparison based sorting algorithms along with the details of how to estimate the complexities for any algorithm. Students will clearly understand how to estimate the best case, average case and worst case complexities for any algorithm along with details analysis of each of the sorting algorithm.
The seven sorting algorithms that you will learn in this course are as follows:
- Bubble sort
- Selection Sort
- Insertion Sort
- Shell Sort
- Quick Sort
- Merge Sort
- Heap Sort
Students will learn details of heap data structures along with the heap operations like, insertion into heap, heap adjust, heap delete and heapify while learning the heap sort.
Although, sorting utilities can be found in the library of any modern day programming language, however, it is must for a programming student to understand them from scratch as this will help to form strong foundation on algorithm. Also, it is often found that, many questions are asked on sorting algorithms on Job interviews, hence, it will be really fruitful to have a strong hold on this topic.
In the course, I described the logic of each of the seven comparison based sorting algorithms using visual description that is really easy to understand, then I explained the algorithm, analysed them for their performance and finally implemented them using C and Java.
If you are interested of implementing them using in other language you can also do that following the lectures. It will be really easy to do.
Who this course is for:
- "Sorting algorithms" are gateway to the world of understanding algorithms, any programming aspirant who wants to make the fundamentals more concrete. The fact is, in Job interviews of many questions are asked from this section.
- Students must be familiar with basic understanding of C or Java. If you are familiar with any other language then also you can join the course, however, the implementations of the sorting algorithms in this course is done in both C and Java only
- How to analyse an algorithm, understanding of worst case, best case and average case complexities, How to estimate them using Big O, Big Omega and Big Theta notations
- Seven (7) most important comparison based sorting algorithms, #Bubble Sort, #Selection Sort, #Insertion Sort, #Shell Sort, #Quick Sort, #Merge Sort and #Heap Sort
- Students will get to know details of #heap data structures along with heap operations while leaning heap sort
- They will experience and understand how to execute program on various input sizes and compare the execution time between different input sizes using graph