私は現在、プレイヤーが作成した単語が正しいかどうかを確認するためにいくつかのスペル チェック メソッドを必要とする Java で書かれた Android 単語ゲームを開発しています。正しい単語 (ポーランド語) の完全なリストがテキスト ファイル (*.txt) に保存されていますが、300 万近くの単語が含まれており、サイズが 35 MB もある巨大なファイルです。いくつかの調査を行ったところ、このデータを保持するための最適な構造は三分探索ツリーであることがわかりました。これは、スペースと時間の効率が良いからです。
私の質問は、ランタイムの前に巨大なテキスト ファイルから三項探索ツリー構造を作成する方法です。時間がかかり、メモリが不足するため、ランタイム中に実行することはできません(どのようにクラッシュするかという好奇心からすでに試しました)。したがって、コンパイル前でもそのような構造を作成し、ある種のリソースとしてプロジェクトに追加するのが最善の方法だと思いますが、残念ながらその方法がわかりません。コンパイル時間の前にそれを達成できない場合、コンパイル中にそのような構造を作成する方法を知っているでしょうか?
詳細:
- このテキスト ファイルを辞書として使用したいので、他の辞書サービスの使用を勧めないでください。
- このデータ構造に対して実行する必要がある唯一の方法
boolean contains(String word)
は、単語が正しいかどうかを教えてくれることです。