私は、最小数の右折と左折なしで迷路を解く必要があるプロジェクトに取り組んでいます。
右折が最小限に抑えられている限り、移動距離は関係ありません。バックトラッキング アルゴリズムと最適な (時間) アルゴリズムの両方を使用してプログラムを実装するよう求められます。
バックトラッキング アルゴリズムでは、スタックを使用するつもりでした。私のアルゴリズムは次のようになります。
- スタック上の 4 つの可能な開始方向すべてをプッシュします。
- 可能な限りまっすぐに進みます。
- 迷路の終わりに到達すると、現在のパスの長さが最良のものとして返されます。
- 行き止まりに到達した場合は、可能な限り最後の右折に戻り、それを取ります。
- 現在のパスの長さが現在のベストよりも長い場合は、可能な限り最後の右折に戻り、それを実行します。
誰かがこれに最適なアルゴリズムの方向に私を向けることができるかどうか疑問に思っていました.
バックトラックよりも良いものを考えるのに苦労しています。