0

最大35文字のグリッド(1x35..5x7)またはその他のものがあります。グリッド上の各セルの値はバイナリのみです。特定の動きがあるゲームをシミュレートする場合、これは、このゲームのサイクル/期間を検出する必要がある場合、最小限の時間計算量でどのアルゴリズム/データ構造を使用できますか?グリッドの状態を格納するためにlognツリーベースのアプローチを試しましたが、期間が2 ^ 17より大きい場合、目的に対して十分な速度ではありませんでした。メモリをあまり消費せずにグリッド状態でハッシュを実行する手法はありますか?

4

1 に答える 1

1

グリッドは35ビットの数値であるため、グリッドを整数(64ビットマシンの場合)または2ワード(小さい方のマシンの場合)として格納できます。すでに見た状態を巨大な直接アドレス配列またはハッシュテーブルに保持できます。

于 2012-10-06T21:02:57.263 に答える