[解決済み] JavaにTrieはあるのか?[重複しています]
2022-03-04 14:09:01
質問
重複の可能性があります。
Javaでの標準的なTrieベースのマップの実装はどこにありますか?
JavaでTrieを使いたいのですが、使える実装はありますか?(探したのですが見つかりませんでした)。
どのように解決するのですか?
Javaコアライブラリにtrieデータ構造がない。
これは、トライが通常文字列を格納するように設計されているのに対し、Javaのデータ構造はより一般的で、通常、任意の
Object
(等号とハッシュ演算を定義)に限定されることもあるが、その場合は
Comparable
オブジェクト(順序の定義)。シンボルのシーケンス(sequence of symbols)を表す一般的な抽象表現はありません。
CharSequence
は文字列に適しています。
Iterable
他の種類の記号の場合
もうひとつ、Javaで従来のトライを実装しようとすると、JavaがUnicodeをサポートしているという事実にすぐに直面します。何らかのスペース効率を得るためには、トライの文字列をシンボルのサブセットに限定するか、シンボルでインデックスされた配列に子ノードを格納する従来のアプローチを放棄しなければなりません。これは、トライがコアライブラリに含まれるほど汎用的でないと考えられるもう一つの理由であり、自分で実装したりサードパーティのライブラリを使う場合に気をつけるべきことかもしれません。
関連
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] JavaFX 同じパッケージ内なのに「場所が必要です。
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] HashMapを直接(リテラルに)初期化する方法は?
-
[解決済み】Mac OS Xでは、Javaはどこにインストールされていますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javaで拡張子なしのファイル名を取得する方法は?
-
[解決済み] Firebase クラスにシリアライズするプロパティが見つからない
-
[解決済み] JavaでFileFilterを作るには?
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] JDBC タイプの方言マッピングがありません。1111
-
[解決済み] アニメーションGIFの表示
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み] 文字列の巻き方
-
[解決済み] ヘッドリカーシオンとテールリカーシオンの違い [重複]について