我正在使用存储在矢量中的大二进制2D矩阵,并且每次获得新矩阵时,它都被添加到该矢量中,其可以达到大约500或1000个元素的大小。我要问的是,是否存在一种更有效的方法来存储这个矩阵,可能还有哈希函数。当向量中存在两个元素的重合时,我需要的是它们在向量中的位置,而不是矩阵本身。我正在使用Matlab。
在获得新矩阵后执行:
states = [states new_state];
for i = 1:size(states,3)-1
if isequal(states(:,:,end), states(:,:,i))
found = 1;
num = size(states,3) - i;
break
end
end
矩阵是二进制的:
new_state = [1 0 0 0; 0 0 0 1; 1 1 0 1; 1 1 0 0];