Skip to main content

36 docs tagged with "algorithms"

View all tags

0/1 Knapsack

Capacity-indexed dynamic programming and the direction of one-dimensional updates.

Algorithms

A map for analyzing algorithms, recognizing design patterns, and choosing an appropriate problem-solving family.

Backtracking

Depth-first search over decisions with reversible state and sound pruning.

Binary Search

Boundary search over sorted random-access data or monotone predicates.

Bubble Sort

Adjacent-swap sorting, its invariant, and its narrow practical role.

Depth-First Search

Stack-based graph traversal, parent structure, and DFS-specific guarantees.

Divide and Conquer

Independent recursive subproblems, combine costs, and recurrence-based analysis.

Graph Algorithms

A problem-first map for traversal, shortest paths, and minimum spanning trees.

Greedy Algorithms

Local-choice algorithms organized around proof obligations and counterexamples.

Heapsort

In-place sorting with a binary heap and a worst-case n-log-n bound.

Huffman Coding

Optimal binary prefix codes for known symbol frequencies.

Insertion Sort

Adaptive stable sorting for small or nearly ordered ranges.

Linear Search

Sequential lookup without ordering or preprocessing assumptions.

Merge Sort

Stable divide-and-conquer sorting with predictable runtime and linear array workspace.

Prim's Algorithm

Growing a minimum spanning tree across the lightest eligible cut edge.

Quicksort

Partition-based sorting, pivot risk, duplicate handling, and stack discipline.

Selection Sort

Minimum-selection sorting with fixed comparison cost and few swaps.

Sorting Algorithms

A decision map for comparison sorting, stability, adaptiveness, and memory trade-offs.

Space Complexity

Peak memory analysis across input, output, auxiliary state, and recursion.

Time Complexity

Asymptotic runtime analysis with explicit input measures, models, and case assumptions.