トライと基数トライのデータ構造の違いは何ですか? 質問する

トライと基数トライのデータ構造の違いは何ですか? 質問する

トライそして基数トライデータ構造は同じものですか?

同じでない場合、基数トライ (別名パトリシアトライ) の意味は何ですか?

ベストアンサー1

基数木はトライの圧縮バージョンです。トライでは各辺に 1 つの文字を書き込みますが、パトリシア木 (または基数木) では単語全体を格納します。

さて、単語hellohat、 があると仮定しますhave。これらをトライ、次のようになります。

    e - l - l - o
  /
h - a - t
      \
       v - e

必要なノードは 9 個です。ノードに文字を配置しましたが、実際にはエッジにラベルを付けています。

基数ツリーでは、次のようになります。

            *
           /
        (ello)
         /
* - h - * -(a) - * - (t) - *
                 \
                 (ve)
                   \
                    *

必要なノードは 5 つだけです。上の図では、ノードはアスタリスクです。

つまり、基数木はメモリが少ないただし、実装はより困難です。それ以外では、両方の使用例はほぼ同じです。

おすすめ記事