合并数十万个vector的高效方法?
我用了个最最笨的压缩方法,在P4,3.0G,512M内存的机器上运行了一天,没有出结果,然后跟踪估计了下时间,大约需要9天时间才能完成数据压缩,太慢了!不知道各位有没有好的压缩方法?
本人有近30万个vector<int>(每个vector<int>中的值为0~179),如:
vector<vector<int>> a;
a[0]={0,3,179}
a[1]={}//该vector为空
a[2]={2,6,8,56,119,36}
a[3]={0,3,179}
a[4]={1,2,3,4,5,6,7,8,9,10...,179}// “满”vector<int>,表示从0到179间的数均在该vector中
....
a[310000]=...
先要对上述31万个vector<int>进行压缩,压缩原则为
1.空vector<int>删除,如a[1]
2.“满”vector<int>删除,如a[4]
3.相同vector<int>删除其中一个,如a[0]和a[3]相同,则删除其中任意一个
4.互补vector<int>删除其中一个,互补的意思是两vector<int>不相交且其并集为“满”vector<int>