これは宿題のためなので、正確なコードは必要ありませんが、正しい方向に向けるのに役立つアイデアをいただければ幸いです。
宿題は、ボーグルを解くプログラムを書くことです。再帰的な部分は理解できたと思いますが、現在の文字列を辞書と比較する方法についての洞察が必要です。
辞書をセットまたはソートされたリストに保存する必要があります。私はセットを使用してこれを実装する方法を試みてきました。プログラムをより速く実行し、行き止まりの道をたどらないようにするために、現在の文字シーケンスがセット (辞書) 内の何かのプレフィックスとして存在するかどうかを確認する必要があります。
set.find() 操作は、文字列が完全に一致する場合にのみ true を返すことがわかりました。ラボの要件で、教授は次のように述べています。
「辞書がセットに格納されている場合、多くのデータ構造ライブラリは、検索している文字列に最も近いセット内の文字列を見つける方法を提供します。このような操作を使用して、特定の接頭辞を持つ単語をすばやく見つけることができます。 ."
私は今日、教授が説明していることを探していました。試行に関する多くの情報を見つけましたが、リストまたはセットを使用する必要があるため、うまくいかないと思います。
オートコンプリート機能のアルゴリズムも調べてみましたが、ここで達成しようとしているものは非常に複雑に思えます。
また、現在のシーケンスを辞書セットの単語と比較するために strncmp() を使用することも考えていましたが、この状況でそれがどのように機能するかはわかりません。
これがセットでどのように機能するかを調査し続けることは価値がありますか、それともソートされたリストを使用して辞書を保存してみるべきですか?
ありがとう