Introduction

A sorting algorithm is a function that takes a sequence of items and constructs a permutation of them in a specific order or arrangement.

First of all, the study will evaluate algorithms with by following properties.

Comparison-based

It is a type of sorting that is based on a single comparison operation, such as "less than."

Stable

A Sort Key is a value utilized to establish the order of items within a given collection.

In a stable sorting algorithm, items with the same sort keys maintain their position order after the collection is sorted.

Recursive

Recursion is a behavior in which a function calls itself. Recursive algorithms typically operate by dividing an array into smaller subarrays and sorting them individually.

In-place

An in-place sorting algorithm requires no additional data structure during its execution to perform the sorting. However, certain algorithms cannot be used in-place as they do not overwrite their input and instead create a new data structure in memory.

Adaptive

A sorting algorithm is considered adaptive if it leverages the presence of already "sorted" elements in the input list to optimize its performance.

Online

An online sorting algorithm is capable of sorting a continuous stream of input, meaning it can process individual elements as they are fed to the algorithm, without requiring all inputs to be available from the start of the algorithm.

References