Sorting Algorithms Quick Sort Algorithm Complexity Implementations Optimizations Applications Discussions Reading time: 20 minutes | Coding time: 10 minutes Quicksort algorithm is a comparison based sort algorithm based on Divide and Conquer strategy that is it aims to
Sorting Algorithms Intelligent Design Sort or Quantum BogoSort Quantum Bogo Sort a quantum sorting algorithm which can sort any list in Θ(1), using the "many worlds" interpretation of quantum mechanics. The Many-Worlds Interpretation (MWI) of quantum mechanics holds
Sorting Algorithms 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 Algorithms Bead Sort: An algorithm that works faster with hardware implementation Bead sort (gravity sort) is a natural sorting algorithm. Both digital and analog hardware implementations of bead sort can achieve a sorting time of O(n); The implementation of this algorithm tends to be significantly slower in software and can only be used to sort lists of positive integers
Sorting Algorithms 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 Algorithms Selection Sort Selection sort is a sorting algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from unsorted part and putting it at the beginning of the unsorted part. It is used when only O(N) swaps can be made and when memory write is a costly operation
Search Algorithms 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 Algorithms 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 Algorithms 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 Algorithms 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 Algorithms Binary Search Algorithm Binary Search algorithm is an efficient comparison based search algorithm where the key idea is to reduce size of search space by half in every iteration by exploiting a restriction on the search space that it is in sorted order. When suitable, binary search is choose over other search algorithms
Search Algorithms 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.