{"id":39173903,"url":"https://github.com/hegner123/learn-datastructures","last_synced_at":"2026-01-17T22:25:54.642Z","repository":{"id":307592686,"uuid":"1030045077","full_name":"hegner123/learn-datastructures","owner":"hegner123","description":"AI prompt workflow system for generating data structures practice problems with Claude Code","archived":false,"fork":false,"pushed_at":"2026-01-12T01:52:59.000Z","size":238,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-12T05:53:54.567Z","etag":null,"topics":["ai-prompts","algorithms","claude-code","data-structures","educational","go","learning-path","leetcode-alternative","practice-problems","prompt-engineering","typescript"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hegner123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-01T02:18:02.000Z","updated_at":"2026-01-12T01:53:03.000Z","dependencies_parsed_at":"2025-08-01T04:24:05.018Z","dependency_job_id":"511eb99b-71c1-4dc3-bdb0-7f0f4e84d703","html_url":"https://github.com/hegner123/learn-datastructures","commit_stats":null,"previous_names":["hegner123/learn-datastructures"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hegner123/learn-datastructures","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegner123%2Flearn-datastructures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegner123%2Flearn-datastructures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegner123%2Flearn-datastructures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegner123%2Flearn-datastructures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hegner123","download_url":"https://codeload.github.com/hegner123/learn-datastructures/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hegner123%2Flearn-datastructures/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28520413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T22:11:28.393Z","status":"ssl_error","status_checked_at":"2026-01-17T22:11:27.841Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-prompts","algorithms","claude-code","data-structures","educational","go","learning-path","leetcode-alternative","practice-problems","prompt-engineering","typescript"],"created_at":"2026-01-17T22:25:54.563Z","updated_at":"2026-01-17T22:25:54.628Z","avatar_url":"https://github.com/hegner123.png","language":"Go","readme":"# Data Structures Learning System\n\nAn AI-powered workflow for generating comprehensive data structures and algorithms practice problems using Claude Code.\n\n## What is This?\n\nThis repository is a **prompt engineering workflow system** designed to work with [Claude Code](https://claude.ai/code) to automatically generate high-quality practice problems across 33 essential data structures and algorithms. Rather than providing pre-made problems, this system empowers you to create custom problems on-demand, tailored to your learning pace and needs.\n\nThe goal is to achieve **mastery** through deliberate practice - developing the intuitive ability to analyze any problem and immediately recognize the most effective solution approach.\n\n## Key Features\n\n- **AI-Driven Problem Generation**: Leverages Claude Code to create unique, well-structured problems\n- **33 Data Structures**: Comprehensive coverage from arrays to advanced structures like segment trees\n- **Progressive Difficulty**: Five levels (Intro, Beginner, Intermediate, Advanced, Senior) with strict constraints\n- **Multi-Language Support**: Problems generated with both Go and TypeScript solutions\n- **Complete Test Suites**: Each problem includes 10 test cases with proper test harness setup\n- **Standardized Format**: Consistent structure across all problems for streamlined learning\n\n## Quick Start\n\n### Prerequisites\n\n- [Claude Code](https://claude.ai/code) CLI installed\n- Go 1.24 or later\n- Node.js (for TypeScript problems)\n\n### Generate Your First Problem\n\n**Option 1: Using the convenience script**\n\n```bash\n# Clone this repository\ngit clone https://github.com/hegner123/learn-datastructures.git\ncd learn-datastructures\n\n# Make the script executable\nchmod +x create-problem.sh\n\n# Generate a problem\n./create-problem.sh beginner Arrays\n./create-problem.sh intermediate linked-lists\n./create-problem.sh advanced binary-trees\n\n# Syntax: ./create-problem.sh \u003cdifficulty\u003e \u003cdata-structure\u003e\n# Difficulty: intro, beginner, intermediate, advanced, senior\n```\n\n**Option 2: Using Claude Code directly**\n\n```bash\n# Navigate to the repository\ncd learn-datastructures\n\n# Start Claude Code\nclaude\n\n# In Claude Code, request a problem\n\u003e Create an intermediate-level problem for linked-lists\n```\n\nClaude will:\n1. Check if subject documentation exists (creates if needed)\n2. Review existing problems to ensure uniqueness\n3. Generate a problem following STANDARDS.md format\n4. Create Go and TypeScript implementations with tests\n5. Update practice counts\n\n## Repository Structure\n\n```\nlearn-datastructures/\n├── CLAUDE.md              # AI workflow instructions (the core prompt)\n├── STANDARDS.md           # Problem format specifications\n├── STEPS.md              # Step-by-step problem creation process\n├── LEVELS.md             # Difficulty level definitions\n├── EXPLAIN.md            # Template for subject matter documentation\n├── 00-Reference/         # Example problem (reference implementation)\n├── 01-Arrays/            # Arrays data structure\n│   ├── arrays.md        # Subject matter explanation\n│   └── [generated problems appear here]\n├── 02-linked-lists/      # Linked lists data structure\n│   └── linked_lists.md\n└── [03-33: Other data structures...]\n```\n\n## Data Structures Covered\n\n### Essential Data Structures for Senior Software Developers\n\n**Basic Structures:**\n- Arrays (Dynamic/Static)\n- linked-lists (Singly, Doubly, Circular)\n- Stacks\n- Queues (Regular, Priority, Circular, Deque)\n\n**Trees:**\n- binary-trees\n- binary-search-trees (BST)\n- avl-trees\n- red-black-trees\n- b-trees\n- Tries (Prefix Trees)\n- segment-trees\n- fenwick-trees (Binary Indexed Trees)\n\n**Graphs:**\n- adjacency-matrix\n- adjacency-list\n- directed-graphs/undirected-graphs\n- weighted-graphs/unweighted-graphs\n\n**Hash-based:**\n- hash-tables/Hash Maps\n- hash-sets\n- bloom-filters\n\n**Advanced Structures:**\n- Heaps (Min/Max, Binary, Fibonacci)\n- disjoint-set-union (Union-Find)\n- suffix-arrays\n- sparse-tables\n- skip-lists\n\n**String Structures:**\n- suffix-trees\n- kmp-algorithm structures\n- rolling-hash\n\n**Specialized:**\n- lru-cache\n- design-patterns (Singleton, Factory, Observer)\n- circular-buffers\n- bit-manipulation structures\n\n## Difficulty Levels\n\nProblems are categorized into five levels with strict data structure constraints:\n\n- **Intro**: Direct replication of subject matter, minimal problem solving\n- **Beginner**: Direct implementation of subject matter concepts\n- **Intermediate**: Subject matter + one additional data structure from previous directories\n- **Advanced**: Subject matter + up to three additional data structures from previous directories\n- **Senior**: Can use any/all data structures, requires advanced problem solving\n\nSee `LEVELS.md` for detailed requirements.\n\n## How It Works\n\nThis system uses prompt engineering to guide Claude Code through a rigorous problem creation workflow:\n\n1. **Documentation First**: Ensures subject matter explanation exists\n2. **Uniqueness Check**: Reviews existing problems to avoid duplication\n3. **Structured Generation**: Creates problems following strict format (STANDARDS.md)\n4. **Multi-Language**: Generates both Go and TypeScript implementations\n5. **Complete Testing**: Includes 10 test cases per problem\n6. **Validation**: Verifies difficulty level matches actual complexity\n\nThe workflow is defined in `CLAUDE.md` and `STEPS.md` - these files contain the prompts that guide Claude Code.\n\n## Practice Counts\n\nTrack your progress as you generate and complete problems:\n\n- 00-Reference: 1 (Example)\n- 01-Arrays: 0\n- 02-linked-lists: 0\n- 03-Stacks: 0\n- 04-Queues: 0\n- 05-binary-trees: 0\n- 06-binary-search-trees: 0\n- 07-avl-trees: 0\n- 08-red-black-trees: 0\n- 09-b-trees: 0\n- 10-Tries: 0\n- 11-segment-trees: 0\n- 12-fenwick-trees: 0\n- 13-adjacency-matrix: 0\n- 14-adjacency-list: 0\n- 15-directed-graphs: 0\n- 16-undirected-graphs: 0\n- 17-weighted-graphs: 0\n- 18-unweighted-graphs: 0\n- 19-hash-tables: 0\n- 20-hash-sets: 0\n- 21-bloom-filters: 0\n- 22-Heaps: 0\n- 23-disjoint-set-union: 0\n- 24-suffix-arrays: 0\n- 25-sparse-tables: 0\n- 26-skip-lists: 0\n- 27-suffix-trees: 0\n- 28-kmp-algorithm: 0\n- 29-rolling-hash: 0\n- 30-lru-cache: 0\n- 31-design-patterns: 0\n- 32-circular-buffers: 0\n- 33-bit-manipulation: 0\n\n**Legend:** i = Intro, B = Beginner, I = Intermediate, A = Advanced, S = Senior\n\n## Key Workflow Files\n\n- **CLAUDE.md**: The main prompt that instructs Claude Code on problem generation workflow\n- **STANDARDS.md**: Defines the exact directory structure and file format for problems\n- **STEPS.md**: Step-by-step process for creating a problem (used by Claude)\n- **LEVELS.md**: Detailed difficulty level requirements and constraints\n- **EXPLAIN.md**: Template for creating subject matter documentation\n- **practice-counts.json**: Machine-readable practice count tracking\n\n## Running Tests\n\n### Go Problems\n```bash\ncd [data-structure]/[date]-[level]/go\nmake test\n```\n\n### TypeScript Problems\n```bash\ncd [data-structure]/[date]-[level]/ts\nnpm install\nnpm test\n```\n\n## Contributing\n\nThis is a personal learning workflow system. Feel free to fork and adapt for your own use. The workflow files (CLAUDE.md, STANDARDS.md, etc.) can be customized to match your learning preferences.\n\n## License\n\nMIT License - See LICENSE file for details\n\n## Reference\n\nCheck `00-Reference/20250718-beginner/` to see an example of a generated problem structure.\n\n---\n\n**Note**: This system is designed specifically for use with Claude Code. The markdown files in the root (CLAUDE.md, STANDARDS.md, STEPS.md) are the workflow prompts that guide the AI through problem generation.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhegner123%2Flearn-datastructures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhegner123%2Flearn-datastructures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhegner123%2Flearn-datastructures/lists"}