Algorithms terms
Algorithms are the precise recipes that transform inputs into outputs efficiently. This category covers sorting, searching, graph traversal, dynamic programming, greedy approaches, divide-and-conquer, and complexity analysis. Understanding algorithmic thinking helps you recognise patterns in problems and reach for the right solution rather than reinventing a worse one.
More on Algorithms
History
Algorithms as a formal discipline emerged from mathematics and logic in the early 20th century, with roots tracing to Al-Khwarizmi's 9th-century work (whose name inspired the term itself). The field accelerated with the advent of computers in the 1940s–1950s, when researchers like Donald Knuth began systematizing algorithmic analysis and complexity theory, establishing Big-O notation as a standard measurement tool. The 1960s–1970s saw foundational breakthroughs: the formalization of P vs NP problems by Cook and Karp, development of major algorithms like Dijkstra's shortest path and quicksort, and the emergence of algorithm design paradigms such as dynamic programming and divide-and-conquer. Today, algorithmic thinking underpins software engineering practice across domains—from web search and machine learning to database optimization—with modern development emphasizing both theoretical correctness and practical performance analysis through empirical benchmarking.
Key concepts
- Big-O Notation
- Recursion Patterns
- Searching Algorithms
- Sorting Algorithms
- Divide and Conquer
- Dynamic Programming
- Graph Algorithms
- Greedy Algorithms
Best references
-
Introduction to Algorithms (CLRS) The canonical computer science textbook covering algorithm design, analysis, and correctness. Essential reference for Big-O notation, sorting, graph algorithms, dynamic programming, and NP-completeness.
-
Stanford CS161 Course Materials University-level algorithm course covering divide-and-conquer, sorting, searching, graph algorithms, dynamic programming, and complexity analysis with rigorous proofs.
-
Competitive Programming by Halim & Halim Comprehensive reference for practical algorithm implementation, pattern recognition, and problem-solving techniques used in competitive programming and technical interviews.
Typed relationships here
Edges touching a Algorithms term.
- Graph Algorithms Leverages Recursion Patterns Jun 13
- Big-O Notation Measures Recursion Patterns Jun 13
- Backtracking Leverages Recursion Patterns Jun 12
- Divide and Conquer Leverages Recursion Patterns Jun 12
- String Algorithms Leverages Dynamic Programming Jun 11