データ構造とアルゴリズムに関する学部課程の学期プロジェクトとして辞書プログラムを作成する必要があり、問題に対する最適な解決策 (データ構造) を見つけることが期待されています。
ハッシュ テーブルまたはトライのいずれかを使用することを検討しました。誰かからTreapsの使用を勧められましたが、まだ調べていません。
私のデータベースには、約 10 万個の異なる単語とその意味が含まれています。プログラムが提供することが期待される基本的な機能は、単語/定義の挿入、更新、削除、および検索です。オートコンプリートとスペル修正をなんとか押し込むことができれば、それは追加のボーナスになります.
したがって、私の質問は、私の要件を念頭に置いて、どのデータ構造が私の目的に最も適しているかということです。私が「最高」と言うとき、実行時の複雑さと低コスト (メモリ要件) が最も優れたデータ構造を求めています。
また、指定された接頭辞で始まるすべての単語を返すアルゴリズムが必要でした。たとえば、関数呼び出しを行うと、、、などで始まるdictionary.getWordsStartingWith("fic")すべての単語のリストが返されるはずです。辞書をトライとして実装すれば、これを実行できることはわかっていますが、これは可能ですが、可能ですか?ハッシュテーブルでそれを行うには?ficfictionfictitiousfickle