Babysitter data-structure-selector
Select optimal data structure based on operation requirements
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/algorithms-optimization/skills/data-structure-selector" ~/.claude/skills/a5c-ai-babysitter-data-structure-selector && rm -rf "$T"
manifest:
library/specializations/algorithms-optimization/skills/data-structure-selector/SKILL.mdsource content
Data Structure Selector Skill
Purpose
Select the optimal data structure based on required operations, their frequencies, and time/space constraints.
Capabilities
- Analyze required operations (insert, delete, query, update)
- Match to optimal data structure
- Consider time/space trade-offs
- Suggest augmentations for custom requirements
- Compare alternatives with complexity analysis
Target Processes
- data-structure-implementation
- algorithm-implementation
- complexity-optimization
Selection Framework
Operation Analysis
- What operations are needed?
- What are the frequency/priority of each operation?
- What are the constraints (N, Q, time limit)?
- Is persistence needed?
- Are range operations required?
Common Selection Patterns
| Operations | Best Choice |
|---|---|
| Insert, Delete, Search | BST / Hash Map |
| Range sum, Point update | Fenwick Tree |
| Range query, Range update | Segment Tree + Lazy |
| Union, Find | DSU |
| Min/Max with add/remove | Multiset / Heap |
| Predecessor/Successor | Ordered Set / BST |
Input Schema
{ "type": "object", "properties": { "operations": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "frequency": { "type": "string" }, "constraints": { "type": "string" } } } }, "constraints": { "type": "object" }, "preferences": { "type": "array" } }, "required": ["operations"] }
Output Schema
{ "type": "object", "properties": { "success": { "type": "boolean" }, "recommended": { "type": "string" }, "complexities": { "type": "object" }, "alternatives": { "type": "array" }, "augmentations": { "type": "array" }, "reasoning": { "type": "string" } }, "required": ["success", "recommended"] }