role-algorithmsalgorithm-design

star 13

Designs algorithms with formal analysis — Big-O/Theta/Omega, amortized analysis, recurrence relations (Master theorem), correctness proofs (loop invariants, induction, reduction), and paradigm selection (greedy, divide-and-conquer, dynamic programming, backtracking). Use when analyzing efficiency, proving correctness, comparing approaches, or selecting optimal algorithms for given constraints.

rnavarych By rnavarych schedule Updated 3/3/2026

name: role-algorithms:algorithm-design description: Designs algorithms with formal analysis — Big-O/Theta/Omega, amortized analysis, recurrence relations (Master theorem), correctness proofs (loop invariants, induction, reduction), and paradigm selection (greedy, divide-and-conquer, dynamic programming, backtracking). Use when analyzing efficiency, proving correctness, comparing approaches, or selecting optimal algorithms for given constraints. allowed-tools: Read, Grep, Glob, Bash

Algorithm Design

When to use

  • Analyzing algorithm efficiency and comparing time/space bounds
  • Selecting the right paradigm: greedy, divide-and-conquer, DP, or backtracking
  • Proving algorithm correctness with loop invariants or induction
  • Solving recurrence relations and applying the Master theorem
  • Evaluating space-time trade-offs under memory or latency constraints
  • Explaining why a greedy choice is (or is not) valid

Core principles

  1. Prove before you code — choose a paradigm and establish correctness argument before implementation
  2. Tight bounds over loose bounds — Big-Theta tells the truth; Big-O alone can mislead
  3. Constants matter at small n — O(n log n) with large constants can lose to O(n²) for n < 10,000
  4. Amortized cost is not average cost — a single expensive operation does not break O(1) amortized
  5. Greedy requires proof — exchange argument or cut property; intuition is not a proof

Reference Files

  • references/asymptotic-analysis.md — notation (O/Ω/Θ/o), practical interpretation, amortized methods (aggregate, accounting, potential), recurrence relations and Master theorem
  • references/design-paradigms.md — greedy (exchange argument, classic examples), divide-and-conquer (split/merge decisions), dynamic programming (when DP beats greedy), backtracking (pruning strategies)
  • references/correctness-and-tradeoffs.md — loop invariants, structural induction, reduction proofs, space-time trade-off decision matrix
Install via CLI
npx skills add https://github.com/rnavarych/alpha-engineer --skill role-algorithmsalgorithm-design
Repository Details
star Stars 13
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator