sorting algorithm Merge Sort Algorithm Complexity Implementations Applications Discussions The merge sort is a comparison-based sorting algorithm based on divide and conquer strategy. It has a usual performance of Θ(nlogn). This algorithm works by dividing the

sorting algorithm Quick Sort Algorithm Complexity Implementations Optimizations Applications Discussions Quicksort algorithm is a comparison sort algorithm based on Divide and Conquer strategy. It has an average performance of Θ(n*log(n)) and is considered as

sorting algorithm Bogo sort Algorithm Complexity Implementations Discussions BogoSort also known as permutation sort, stupid sort, slow sort, shotgun sort or monkey sort is a particularly ineffective algorithm based on generate and test paradigm. The algorithm successively

sorting algorithm Bead Sort Algorithm Complexity Implementations Discussions Bead sort, also called gravity sort, is a natural sorting algorithm. Both digital and analog hardware implementations of bead sort can achieve a sorting time of O(n); however,

sorting algorithm Bubble Sort Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order. Implementations in Java, C++, C, Go, Swift, JavaScript and many more.

sorting algorithm Selection Sort Algorithm Complexity Implementations Applications Discussions The selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from unsorted part and putting it at the beginning. The good thing

search algorithm Exponential Search Algorithm Algorithm Complexity Implementations Applications Discussions Exponential search algorithm (also called doubling search, galloping search, Struzik search) is a search algorithm, created by Jon Bentley and Andrew Chi-Chih Yao in 1976, for searching sorted,

search algorithm Ternary Search Algorithm Algorithm Complexity Implementations Applications Discussions Ternary search is a divide-and-conquer search algorithm. It is mandatory for the array (in which you will search for an element) to be sorted before we begin the

search algorithm Jump Search Algorithm Algorithm Complexity Implementations Applications Discussions Jump Search is a searching algorithm for sorted arrays. The basic idea is to check fewer elements by jumping ahead by fixed steps or skipping some elements in

search algorithm Interpolation Search Algorithm Algorithm Complexity Implementations Optimizations Applications Discussions You stored 2GB of data in your computer and you successfully executed a search in a blink of an eye. Great! You may have used binary search

search algorithm Binary Search Algorithm Algorithm Complexity Implementations Optimizations Applications Discussions Binary Search algorithm is a search algorithm where the key idea is to reduce the size of search space by half in every iteration by exploiting a

search algorithm Linear Search algorithm Linear search is a search algorithm inspired by real-life events. Implementations are available in C, C++, Java, C#, Clojure, Go, Haskell, JavaScript, Kotlin, PHP, Ruby, Rust, Scala, Swift, Meta and Nim.