Intro Sort: A brief introduction

Intro sort

Why do we need Intro sort?

Why is mergesort not used?

When to switch from quicksort to heapsort?

  1. Intro sort begins with quicksort and if the recursion depth exceeds the depthlimit of intro sort, switching to heapsort takes place.
  2. If the number of elements is few, insertion sort takes place.
  1. If the partition size is greater than the depthlimit i.e 2*logN, switching to heap sort takes place.
  2. If the partition size is too small, switching to insertion sort takes place. The constant below which insertion sort is used is chosen to be 16 based on research. Therefore, if the size of the partition is less than or equal to 16, insertion sort takes place.
  3. If the partition size is greater than 16 and less than the depthlimit (2*logN), quicksort is performed.



Implementation in C++

Time Complexity

Auxiliary Space


Comparison between Quicksort, Heapsort, Insertion sort, Introsort





Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Why Should You Consider Using MicroProfile In Your Microservices?

10 Predictions for Cloud Native in 2021

Uninstall Apps On Mac Completely

Multithreaded Server with Java RMI

Getting Started with Siri Shortcuts in iOS 12 Using Intents

Better Metrics Better Data Better Analytics: Better IT


Quiet Please!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dhanush S

Dhanush S


More from Medium

Algorithms In Context #8: Shuffling

Stack and it’s Implementation

Memory Management : free()

Increasing Triplet Subsequence