Algorithms Glossary

Browse 59 algorithms terms defined in plain English, from the cultural dictionary of computing.

59 Algorithms Terms

Algorithm Bias
Systematic unfairness or skew in algorithmic outcomes caused by data, objectives, assumptions, or deployment context. In tech culture the term often appears in...
Backtracking
Backtracking is an algorithmic technique that incrementally builds candidates for a solution and abandons a candidate (backtracks) as soon as it determines...
Balanced Tree
A tree data structure kept in a form where depth stays bounded relative to the number of elements, preventing operations from degrading into long linear walks....
Big-O
Big-O notation is a mathematical notation that describes the upper bound of an algorithm's time or space complexity as the input size grows, abstracting away...
Big-O Notation
A mathematical notation describing the upper bound of an algorithm's time or space complexity as input size grows. O(1) is constant, O(log n) is logarithmic,...
Big O Notation Culture
The tendency in developer culture to foreground algorithmic complexity and asymptotic analysis, sometimes appropriately and sometimes far beyond what practical...
Binary Search Tree
A tree structure in which each node's left subtree contains smaller keys and the right subtree contains larger keys, enabling ordered search operations. Binary...
Binary Tree
A hierarchical data structure in which each node has at most two children (left and right), forming the basis for efficient search (BST), priority queues...
Bit Manipulation
The use of bitwise operations such as shifts, masks, and logical operators to inspect, set, clear, or combine bits inside numeric values. Bit manipulation is...
BST
Short for binary search tree, a tree structure where values are arranged so that smaller keys are found on one side and larger keys on the other. BSTs support...
Bubble Sort Life
A joking phrase for solving life or work in a painfully inefficient, repetitive, step-by-step way. In developer humor, it borrows from bubble sort's reputation...
Bucket Sort
A sorting algorithm that distributes values into a set of buckets based on their range or key and then sorts or concatenates those buckets to produce the final...
Compare
To evaluate two values, objects, versions, or structures against each other in order to determine equality, ordering, or difference. Compare operations are...
Competitive Programming
A contest-based style of programming centered on solving algorithmic problems quickly and correctly under time constraints. It has its own training culture,...
Connected Component
In graph theory, a subset of nodes where each node is reachable from every other node in the same subset. Connected components are useful in clustering,...
Constraint Programming
A programming approach in which problems are modeled as variables subject to constraints, and a solver searches for values that satisfy those constraints....
Cryptographic Algorithm
A formal algorithm used for encryption, hashing, digital signatures, key agreement, or related cryptographic purposes. Security depends not only on choosing a...
Dynamic Programming
An algorithm design technique that solves complex problems by breaking them into overlapping subproblems, solving each subproblem once, and storing the results...
echo chamber
An information environment in which a person encounters only beliefs and opinions that reinforce their own, creating a feedback loop that amplifies existing...
Elliptic Curve Cryptography
Elliptic Curve Cryptography is public-key cryptography based on elliptic-curve groups that offers strong security with relatively small keys. Security teams...
filter bubble
A state of intellectual isolation resulting from algorithms that selectively curate the information a user sees based on their past behavior, location, and...
Graph
A data structure consisting of nodes (vertices) connected by edges, used to model relationships and networks. Graphs can be directed or undirected, weighted or...
Graph Theory
The mathematical study of graphs — structures consisting of vertices (nodes) connected by edges. Undirected or directed, weighted or unweighted, cyclic or...
Greedy Algorithm
An algorithm that builds a solution incrementally by always making the locally optimal choice at each step, hoping this leads to a globally optimal solution....
Hashing Algorithm
A Hashing Algorithm is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Hash Map
A Hash Map is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to...
Hash Ring
A Hash Ring is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to...
Hash Set
A Hash Set is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to...
Hash Table
A data structure that maps keys to values using a hash function to compute an index into an array of buckets. Provides average O(1) lookup, insertion, and...
Heap
Heap is a term with two distinct meanings in computer science. As a data structure, a heap is a specialized tree-based structure that satisfies the heap...
Iteration
The repeated execution of a block of logic, usually to process items in a sequence or to converge toward a result. In programming it contrasts with recursion...
Key Derivation
Key Derivation is the process of deriving one or more cryptographic keys from a secret and contextual input. Security teams use it to enforce trust, reduce...
Key Size
The nominal size of a cryptographic key in bits, often used as a quick measure of brute-force resistance for a given algorithm. Key size is closely related to...
K-Means
A clustering algorithm that partitions data into k groups by repeatedly updating centroids. It influences how models are trained, evaluated, or served, and it...
Knuth
Donald Knuth, the computer scientist and Stanford professor emeritus who authored The Art of Computer Programming, created the TeX typesetting system, and is...
LeetCode
LeetCode is an online platform that hosts a collection of coding challenges designed to help software engineers practice algorithmic problem-solving and...
Leetcode Grind
The repetitive practice of solving algorithm problems, often on LeetCode, specifically to prepare for technical interviews. The phrase usually implies...
LIFO
Last In, First Out — an ordering principle where the most recently added element is the first to be removed. LIFO is the fundamental behavior of a stack data...
Linked List
A linear data structure where each element (node) contains a value and a pointer to the next node, allowing O(1) insertion and deletion at known positions but...
Merge Sort
A stable, comparison-based sorting algorithm that recursively divides the input in half, sorts each half, and merges the sorted halves back together. It...
Optimization
The process of modifying code, queries, algorithms, or system configuration to improve a measurable performance metric — such as execution time, memory usage,...
Pathfinding
The computational problem of finding the shortest or most optimal route between two points in a graph or grid, commonly solved with algorithms like A*,...
Priority Queue
An abstract data structure where each element has an associated priority and the element with the highest (or lowest) priority is always dequeued first,...
Pseudo Code
An informal, language-agnostic notation for describing an algorithm's logic using plain language mixed with programming constructs like loops, conditionals,...
Quick Sort
A divide-and-conquer sorting algorithm that selects a pivot element, partitions the array into elements less than and greater than the pivot, then recursively...
Radix Sort
A non-comparison sorting algorithm that distributes elements into buckets based on individual digits or characters, processing from least-significant to...
Reduction
The process of combining a collection of values into a single result by repeatedly applying a function. Also called fold or aggregate. Array.reduce() in...
Round Robin
A scheduling or load-distribution algorithm that cycles through a list of targets in sequential order, giving each one an equal turn. Used in DNS resolution,...
RSA
A public key cryptosystem used for encryption, signatures, and secure key exchange. It shows up in application security, identity, infrastructure, or incident...
Scan
An operation that reads through data sequentially. In databases, a full table scan examines every row (the fallback when no index applies); an index scan...
Search Algorithm
A procedure for locating a specific item or set of items within a data structure, ranging from simple linear scan (O(n)) and binary search (O(log n)) to...
Search Tree
A tree data structure in which nodes are organized so that a comparison at each node directs the search toward a subtree, enabling O(log n) lookup in balanced...
Segment Tree
A balanced binary tree where each node stores an aggregate (sum, min, max, GCD, etc.) over a contiguous range of an array, supporting both range queries and...
Skiplist
A probabilistic data structure that maintains multiple layers of sorted linked lists, where each higher layer acts as an express lane by skipping over...
Stream Cipher
A symmetric cipher that encrypts data one bit or byte at a time using a keystream. It shows up in application security, identity, infrastructure, or incident...
The Art of Computer Programming
Donald Knuth’s monumental multi-volume work on algorithms, combinatorics, and programming theory, widely regarded as one of the most influential technical...
Time Complexity
A measure of how an algorithm's running time grows as the input size increases, expressed in Big-O notation — for example, O(n) means linear growth, O(n²)...
Tree
A hierarchical data structure composed of nodes connected by edges, where each node has zero or more children and exactly one parent (except the root, which...
Union Find
A data structure (also called Disjoint Set Union) that tracks a collection of non-overlapping sets, supporting two near-constant-time operations: `find`...

Related Topics