关于 cs-data-structures
面向 OpenClaw AI 编程任务的数据结构技能,可生成、操作和优化数组、树、哈希表、图等结构的代码。适用于需要高效存储、查找和遍历数据的开发工作。
主要功能
- 01数组排序与查找
- 02链表插入、删除与遍历
- 03BST、AVL 与 B-tree 操作
- 04堆与优先队列操作
- 05哈希表与冲突处理
- 06图遍历、最短路径与字典树
适用场景
- 01生成数组排序或二分查找代码
- 02实现平衡树或哈希表操作
- 03为图数据执行 BFS、DFS 或最短路径
- 04构建基于前缀查找的自动补全
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill cs-data-structures安装后在 Claude Code 中输入/cs-data-structures确认已加载。
详细介绍
cs-data-structures
用途
此技能可帮助 OpenClaw AI 生成、操作和优化核心数据结构相关代码,包括数组、链表、树(BST、AVL、B-tree)、堆、哈希表、图和字典树,从而高效解决编程任务。
适用场景
在代码中实现数据存储或操作时使用此技能,例如用数组对大型数据集排序、在 BST 中搜索节点,或遍历图进行路径查找。在需要高效操作的场景中应用此技能,例如通过哈希表实现 O(1) 查找,或使用平衡树存储已排序数据。
核心功能
- 数组:支持创建、排序(例如快速排序、归并排序)和查找(例如二分查找)。
- 链表:支持单向链表和双向链表的插入、删除和遍历等操作。
- 树:可实现基本查找用的 BST、自平衡用的 AVL,以及用于磁盘存储的 B-tree;包含遍历方式(中序、前序)。
- 堆:管理优先队列用的最小堆/最大堆,并支持建堆和提取操作。
- 哈希表:提供哈希函数、冲突解决方法(链地址法/开放寻址法)和键值操作。
- 图:支持邻接表/邻接矩阵、BFS、DFS、最短路径(例如 Dijkstra)和环检测。
- 字典树:支持基于前缀的字符串存储和查找,可用于自动补全功能。
使用模式
调用此技能时,请使用 openclaw ds <structure> <action> 作为命令前缀。务必指定数据结构类型和操作参数,以确保精确性。集成代码时,导入生成的模块并直接调用函数。在工作流中,先用命令生成代码,再在环境中测试。如果在脚本中使用,请通过 --context=project-file.py 设置上下文,以嵌入代码片段。重复使用时,可将输出保存到 JSON 等配置文件中:{"structure": "bst", "action": "insert", "params": {"value": 5}}。
常用命令/API
使用 OpenClaw CLI 直接执行。命令需要通过环境变量 $OPENCLAW_API_KEY 进行身份验证。CLI 标志示例:
openclaw ds array create --size=10 --init=[1,2,3,4],用于生成数组初始化代码片段。openclaw ds tree bst insert --node=5 --root=var_root,用于向 BST 添加节点(输出:2-3 行代码)。openclaw ds graph bfs --vertices=5 --edges='[[0,1],[1,2]]',用于生成 BFS 遍历代码。 要集成 API,请向 POST /api/ds/{structure} 等端点发送 HTTP 请求,并附上 JSON 正文,例如 {"action": "sort", "params": {"array": [4,2,1], "algorithm": "quicksort"}}。代码片段:
# Example for hash table insertion
hash_table = {} # Generated by openclaw ds hash create
hash_table['key'] = 'value' # Use openclaw ds hash insert --key='key' --value='value'
# Example for linked list traversal
node = head # From openclaw ds linkedlist create
while node: # Traverse using openclaw ds linkedlist traverse
print(node.data)
node = node.next
集成说明
通过生成代码片段并将其作为模块导入,将此技能集成到代码库中。进行身份验证时,请在运行命令前于环境中设置 $OPENCLAW_API_KEY,例如 export OPENCLAW_API_KEY=your_api_key。多步操作可使用 YAML 格式的配置文件:structure: bst, actions: [insert, search]。通过管道传递输出,可与其他 OpenClaw 技能串联,例如 openclaw ds graph create | openclaw cs-algorithms bfs。指定 --lang=python 等参数,确保项目使用兼容的语言,例如 Python 或 C++。
错误处理
执行命令前务必验证输入,例如检查数据结构类型是否有效(使用 openclaw ds list 查询可用的数据结构)。常见错误包括参数无效(例如数组大小为负数),此类错误会通过返回错误代码(例如 400)和消息来处理:"Error: Array size must be positive." 在代码片段中,请使用 try-except 语句块封装操作,例如:
try:
result = bst.search(5) # From openclaw ds tree bst search
except KeyError:
print("Node not found")
对于 API 调用,请检查 HTTP 状态码并解析错误响应。如果 API 进行了速率限制,请使用指数退避重试暂时性错误。
图关系
- 相关:cs-algorithms(用于对这些结构进行操作的算法,例如对数组排序或遍历图)。
- 关联:software-engineering(用于在生产代码中实现数据结构的最佳实践)。
- 链接至:cs-networks(用于图在网络拓扑中的应用)。
- 关联:ai-tools(用于在 AI 提示词中嵌入数据结构查询等提示)。