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、最短経路(例:ダイクストラ法)、閉路検出に対応します。
- トライ:オートコンプリート機能向けに、接頭辞に基づく文字列の保存と検索を可能にします。
使用パターン
このスキルを呼び出すには、コマンドの先頭に 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} などのエンドポイントに、JSON ボディを含む HTTP リクエストを送信します。例:{"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 を使用します)。よくあるエラーには無効なパラメーター(例:負の配列サイズ)があり、"Error: Array size must be positive." のようなメッセージを含む 400 などのエラーコードが返されます。コードスニペットでは、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 プロンプトにデータ構造のクエリなどのヒントを埋め込む場合)。