21 algorithms · 0 selected
Bubble Sort
SortingRepeatedly swaps adjacent out-of-order elements until sorted.
Insertion Sort
SortingBuilds the sorted array one element at a time by shifting.
Selection Sort
SortingSelects the minimum remaining element and places it next.
Merge Sort
SortingDivide-and-conquer that merges sorted halves.
Quicksort
SortingPartitions around a pivot and recurses on each side.
Heapsort
SortingBuilds a binary heap then repeatedly extracts the max.
Radix Sort (LSD)
SortingNon-comparative sort that buckets by digit/byte.
Linear Search
SearchingScans elements one by one until a match is found.
Binary Search
SearchingHalves a sorted range each step to locate a key.
Breadth-First Search
GraphExplores a graph level by level using a queue.
Depth-First Search
GraphExplores as deep as possible before backtracking.
Dijkstra's Algorithm
GraphShortest paths from a source on non-negative weighted graphs.
A* Search
GraphHeuristic-guided shortest path (Dijkstra + heuristic).
0/1 Knapsack (DP)
Dynamic ProgrammingMaximises value under a weight budget via a DP table.
Edit Distance (Levenshtein)
Dynamic ProgrammingMinimum insert/delete/substitute edits between two strings.
Hash Table
HashingAverage O(1) key→value lookup via a hash function.
Knuth–Morris–Pratt
StringLinear-time substring search using a prefix table.
Binary Search Tree (balanced)
TreeOrdered map with logarithmic operations when balanced.
Fast Fourier Transform
NumericalComputes the discrete Fourier transform in O(n log n).
AES (block cipher)
CryptographySymmetric encryption standard with hardware support.
K-Means Clustering
Machine LearningPartitions data into k clusters by iterative centroid updates.