数据结构选择器Skill data-structure-selector

数据结构选择器是一个用于根据特定操作需求、频率和约束条件,推荐最优数据结构的工具。它分析插入、删除、查询、更新等操作,考虑时间与空间复杂度权衡,提供复杂度分析、替代方案比较及定制化增强建议。关键词:数据结构选择,算法优化,时间复杂度,空间复杂度,二叉搜索树,哈希表,线段树,并查集,性能分析,编程优化。

架构设计 0 次安装 0 次浏览 更新于 2/23/2026

name: 数据结构选择器 description: 根据操作需求选择最优数据结构 allowed-tools:

  • 读取
  • 写入
  • 搜索
  • 全局匹配

数据结构选择器技能

目的

根据所需操作、操作频率以及时间/空间约束选择最优数据结构。

能力

  • 分析所需操作(插入、删除、查询、更新)
  • 匹配到最优数据结构
  • 考虑时间/空间权衡
  • 为定制需求建议增强方案
  • 通过复杂度分析比较替代方案

目标流程

  • 数据结构实现
  • 算法实现
  • 复杂度优化

选择框架

操作分析

  1. 需要哪些操作?
  2. 每个操作的频率/优先级如何?
  3. 约束条件是什么(N, Q, 时间限制)?
  4. 是否需要持久化?
  5. 是否需要范围操作?

常见选择模式

操作 最佳选择
插入、删除、搜索 二叉搜索树 / 哈希表
范围求和、点更新 树状数组
范围查询、范围更新 线段树 + 懒标记
合并、查找 并查集
添加/移除时的最小/最大值 多重集 / 堆
前驱/后继 有序集合 / 二叉搜索树

输入模式

{
  "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"]
}

输出模式

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "recommended": { "type": "string" },
    "complexities": { "type": "object" },
    "alternatives": { "type": "array" },
    "augmentations": { "type": "array" },
    "reasoning": { "type": "string" }
  },
  "required": ["success", "recommended"]
}