Sorting Algorithms using Java & C: Make Your Basics Strong

Learn Analysis of Algorithm using asymptotic notations like Big Oh and others. Understand and analyse sorting algorithms

What's Inside

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:

  1. Bubble sort
  2. Selection Sort
  3. Insertion Sort
  4. Shell Sort
  5. Quick Sort
  6. Merge Sort
  7. 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.

What you’ll learn

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

Are there any course requirements or prerequisites?

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

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.

Course Curriculum

Get started now!



44486+ Students
60 Lectures
6+ Hours of Video
Lifetime Access
24/7 Support
Instructor Rating
Sibaji Paul

Hi, I have been teaching computer science and programming since 2001. I did my M Tech in Computer Science and remained visiting faculty to the CSE department of Narula Institute of Technology. I have my own training institute where I provide training on various programming languages and technologies to the B Tech students on C, C++, Java, Android programming, Data structure and Algorithm, DBMS, SQL and PL/SQL.

When I am not taking class I enjoy learning some new technologies. In my leisure time one could find me enjoying with my kids or gossiping with my beautiful wife over a container of tea. I am a "tea-totaller"(guess the meaning :) ) and hate smoking. I have a definite plan to launch an online course on topic "How to drink tea - the best way"on udemy for sure and also on "How to quit smoking - the best way".

Let's hope for the best, happy learning.

Popular Bundles