Loading learning path...
Build algorithmic depth through text search, parsing, automata and incremental dependency engines. Connect data-structure lessons to concrete correctness, invalidation and evaluation rules in existing repositories.
The curriculum and complete lessons are free with an account. Optional practice resources and Ono usage follow your plan’s allowances.
Advance from strings and indexes to parsers, fixed-point analysis and incremental engines. This specialist route assumes the basic algorithms rather than repeating an entire introductory course.
How to study: Work in order. Predict the result before opening a visualizer, implement before reading the editorial, and explain the invariant and edge cases after each exercise. Repository and review activities are paired: fix the behavior, then assess a proposed change independently. Choose a supported language or repository environment; you do not need to repeat every environment. Existing completion of shared content counts toward this path.
Check your understanding: • Give a minimal counterexample for precedence, closure and transition defects. • Explain every dependency included in a cache key or invalidation closure. • Show how representation choices affect search results and source locations.
How Strings Are Represented (Conceptual View)
String Comparison, Ordering & Equality
What Is Hashing? Core Intuition
What Is a Trie? Structure & Intuition
Trie Node Representation
Trie Operations — Insert, Search, StartsWith
Trie Time & Space Complexity
Substring Position Finder
String Segmentation
KMP Algorithm — Failure Function & Matching
Rabin-Karp Algorithm — Rolling Hash
String Hashing Techniques
Full-Text Search
Search Indexing Strategies
Search Relevance Tuning
Computing Document Term Relevance Scores
Probabilistic Document Relevance Scorer (BM25)
Normalize searchable Unicode words without changing source text
Normalize searchable Unicode words without changing source text
Give AND tighter binding than OR in search expressions
Give AND tighter binding than OR in search expressions
Match phrases by consecutive token positions
Match phrases by consecutive token positions
Rank with document frequencies and token lengths
Count distinct document terms while normalizing by characters
Keep snippet windows and highlights in code-point coordinates
Slice snippets by code points while retaining UTF-16 token offsets
What Is Recursion? Conceptual Foundation
Base Cases & Recursive Cases
The Call Stack & Recursion Execution
Common Recursive Patterns
Parsing and Validation
Restore arithmetic binding in formulas
Restore arithmetic binding in formulas
Include the last row of a spreadsheet range
Include the last row of a spreadsheet range
Evaluate only the selected IF branch
Evaluate only the selected IF branch
Graph Representation — Adjacency List
Depth-First Search (DFS) — Algorithm & Applications
Cycle Detection
Repair FIRST across nullable prefixes
Repair FIRST across nullable prefixes
Propagate FOLLOW through nullable suffixes
Propagate FOLLOW through nullable suffixes
Preserve LL(1) table conflicts
Preserve LL(1) table conflicts
Repair parser completion and reserved-token validation
Repair parser completion and reserved-token validation
Repair hidden recursion and undefined symbols
Repair hidden recursion and undefined symbols
Breadth-First Search (BFS) — Algorithm & Applications
Connected Components — Graph Decomposition
State Design & Transition Functions
Repair transitive epsilon closure
Repair transitive epsilon closure
Repair nondeterministic subset acceptance
Repair nondeterministic subset acceptance
Repair future-sensitive DFA minimization
Repair future-sensitive DFA minimization
Repair comparison identities and witness order
Repair comparison identities and witness order
Repair complement totalization
Repair complement totalization
Topological Sorting
Common Graph Modeling Patterns
Memoization — Top-Down Dynamic Programming
Cache Invalidation Strategies
Task Dependency Validator
Task Execution Order
Hash target dependency content in parent cache keys
Hash target dependency content in parent cache keys
Reject dependency cycles and roll back partial build artifacts
Reject dependency cycles and roll back partial build artifacts
Include environment changes and evict reverse dependents
Include environment changes and evict reverse dependents
Debugging Algorithmic Code
Edge Cases & Testing Strategies
Repair cross-sheet identities and dependent caches
Repair cross-sheet identities and dependent caches
Preserve absolute anchors and validate formula shifts
Preserve absolute anchors and validate formula shifts
Carry source-map state across generated lines
Carry source-map state across generated lines
Respect unmapped regions when resolving original positions
Keep unmapped lookup barriers while dropping source roots
Constraint Satisfaction & Pruning
Backtracking Time Complexity Analysis
Search Architecture Overview
Honor zero-major caret compatibility
Honor zero-major caret compatibility
Backtrack after transitive version conflicts
Backtrack after transitive version conflicts
Count lockfile removals before preferring upgrades
Use lock-aware candidate ranking while omitting removed dependencies
Design a Search Autocomplete System
Design Google Search
Complete this path to earn a personalised certificate. You choose whether to make it public.