Назад към всички

data-structure-selector

// Select optimal data structure based on operation requirements

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namedata-structure-selector
descriptionSelect optimal data structure based on operation requirements
allowed-toolsRead,Write,Grep,Glob

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

OperationsBest Choice
Insert, Delete, SearchBST / Hash Map
Range sum, Point updateFenwick Tree
Range query, Range updateSegment Tree + Lazy
Union, FindDSU
Min/Max with add/removeMultiset / Heap
Predecessor/SuccessorOrdered 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"]
}