6

Haskell で一般的なTrieの実装が必要でしたが、見つかりませんでした。

私は自分の関数を実装しました(ここではキーのみで、Trie のデータは必要ありませんでした) が、将来の使用のために Haskell で適切な Trie 実装を見つけたいです (私は初心者の Haskeller です)。

Data.Trie が見つかりましたが、キーは ByteString です。

Data.Trie は正しいオプションですか? (その後、使い方がわかりません)

ありがとうございました!!!:D

4

3 に答える 3

4

リクエストによりコメントから移動しました...

私が知っている唯一の非常に一般的なトライ実装はlist-triesパッケージです。私はいつも少し過剰に設計されているように感じましたが、ある人の「複雑すぎる」は別の人の「フル機能」であるため、目的に合っている場合はそれを使用してください. また、パッケージは積極的にメンテナンスされているようで、これは良いことです。

ああ、パッケージにはこれが明示的に記載されていなかったので、「パトリシアトライ」バージョンは、単一ブランチノードのシーケンスを共通キープレフィックスを格納する単一ノードに圧縮するトライです。したがって、キー "aabb" と "aabc" の場合、"aab" を持つノードを取得し、次にブランチ "b" と "c" を取得します。標準のトライは、常に一度に 1 つの要素に分岐します。

于 2013-04-18T14:43:10.887 に答える