こんにちは、私は次のようなクラスを持っています
class State
{
int[] some_array;
//some other members
}
ここで、2 つの State オブジェクトが同じかどうかを比較する必要があります。オブジェクトの他のメンバーに関係なく、 2some_array
つの状態が同じであると定義します。
これで、何千もの State オブジェクトのリストができました。状態を効率的に取得し、検索によって別の同様の状態がリストに存在することを確認するにはどうすればよいですか?
some_array
リスト内のすべての状態要素の配列を、指定された状態オブジェクトと比較できます。しかし、これには非常に多くの計算 O(N*some_array のサイズ) が必要になります。最小限の計算でこれを行うにはどうすればよいですか?
注: 1 つのアレイを除くすべての資格は、いずれの場合もほぼ同じです。そのため、ルックアップは配列の非常に深いところまで行くことができます。