# Data Structure Selector

> Select optimal data structure based on operation requirements

- Skill: `a5c-ai/data-structure-selector` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add a5c-ai/data-structure-selector`
- Raw SKILL.md: https://api.skillmd.com/api/skills/a5c-ai/data-structure-selector/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: a5c-ai (https://skillmd.com/u/a5c-ai)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/a5c-ai/data-structure-selector

---


# 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
1. What operations are needed?
2. What are the frequency/priority of each operation?
3. What are the constraints (N, Q, time limit)?
4. Is persistence needed?
5. 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

```json
{
  "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

```json
{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "recommended": { "type": "string" },
    "complexities": { "type": "object" },
    "alternatives": { "type": "array" },
    "augmentations": { "type": "array" },
    "reasoning": { "type": "string" }
  },
  "required": ["success", "recommended"]
}
```

