~/coding-interview/list-sorting-algorithms.md

List of Sorting Algorithms

// TL;DR

Overview of all major sorting algorithms — bubble, selection, insertion, merge, quick, heap, counting, radix — with Big-O comparisons and when to use each.

List of Sorting Algorithms

This topic is one of the most common studied. When somebody started preparation of coding interviews. Sorting algorithms would in his top 2 topics. Even typical computer science graduate study sorting algorithms 3-4 times before they complete graduation.

Why you should study Sorting Algorithms

  • These are one of the most fundamental building block which helps in other complex algorithms.
  • If you understand different tricks and basics around these algorithms, you can solve many-many more complex problems. Or, you can utilize the code somewhere.
  • Most common techniques Divide and Conquer, covers few sorting algorithms. Which gives you more understanding of Divide and Conquer algorithms.
  • In other computational algorithms, you must be using one of sorting algorithms either directly or indirectly.
  • These are used in database queries

And, the list is endless.

Which algorithm to study?

There are lot of sorting algorithms available, if you search in wikipedia. But, you should consider reading few of them. In below section, I will mention the important ones.


Different Sorting Algorithms

There are lot of Sorting algorithms out there. I’ve categorized them as below:


Most Basic Ones

Very basic ones. You should consider reading them at least once.

Most Used and Optimized algorithms

Below algorithms must be on your tips.

  • Merge Sort
  • Quick Sort
  • Heap Sort

Other Algorithms

You should be familiar with these algorithms, although not much deep knowledge is required.

  • Bucket Sort
  • Counting Sort
  • Radix Sort

Time complexities of Sorting Algorithms

Algorithms Average(Expected) Running time Worst Running time
Insert Sort O(n^2) O(n^2)
Bubble Sort O(n^2) O(n^2)
Selection Sort O(n^2) O(n^2)
Quick Sort O(n log n) O(n^2)
Merge Sort O(n log n) O(n log n)
Heap Sort O(n log n) O(n log n)

$ subscribe --weekly

One deep dive a week, in your inbox

System design, AI engineering, trading systems and interview prep. Tested code, real numbers. Free, and you can unsubscribe any time.

or read it on gyanbyte.substack.com

Share

Related Posts

What FAANG companies expect in their interview from candidates

What FAANG companies expect in their interview from candidates

Its every software engineer’s dream to work with the big FAANG companies…

Magical usage of Bitwise operators - Get optimized solutions for many arithmatic problems

Magical usage of Bitwise operators - Get optimized solutions for many arithmatic problems

Introduction I will list some of the interesting usage of bitwise operators…

How to prepare for your next Coding Interview

How to prepare for your next Coding Interview

Here are some tips while preparing for your coding interviews. 1. Do study or…

How to nail your Coding Interview

How to nail your Coding Interview

Here are some tips while giving your coding interviews. 1. Never try to jump to…

Coding Interview - Useful Terms Cheatsheet

Coding Interview - Useful Terms Cheatsheet

Big-O notation In simpler terms, its kind of a unit to measure how efficient an…

Coding Interview Cheatsheet

Coding Interview Cheatsheet

Latest Posts

How to Stay Valuable as a Software Engineer in the AI Era: A Practical Playbook

How to Stay Valuable as a Software Engineer in the AI Era: A Practical Playbook

In the previous article I argued that AI is not killing software engineering…

How to Review AI-Generated Code: A Checklist for Catching What the Model Missed

How to Review AI-Generated Code: A Checklist for Catching What the Model Missed

A few months back I approved a PR that was almost entirely AI-generated. It…

How to Debug AI-Generated Code: Understand First, Fix Last

How to Debug AI-Generated Code: Understand First, Fix Last

In the last article I wrote about reviewing AI code before it goes in. This one…

The Future of Software Engineering: What AI Changes, What Stays, and Where the Jobs Go

The Future of Software Engineering: What AI Changes, What Stays, and Where the Jobs Go

Every few weeks somebody sends me a scary headline — “AI will replace all…

The Transactional Outbox Pattern: Never Lose an Event Again

The Transactional Outbox Pattern: Never Lose an Event Again

This is one of those patterns that looks like nothing until you get burnt once…

Event Sourcing, Explained: Store What Happened, Not Just the Final State

Event Sourcing, Explained: Store What Happened, Not Just the Final State

Here is a question I like to ask in interviews: your bank account shows a…