【发布时间】:2012-06-20 16:13:52
【问题描述】:
我正在对流网络进行迭代计算,在此期间我需要记录每个源对每个边缘上的流的贡献量。任何一条边上的流量平均归因于 2% 的源,因此我定义 vector< map<int, double> > flow,其中 flow[e][s] = f 表示边上的流量 e 由于源 s 是 f。在每次迭代中,flow 中的每个 f 都会更新。
程序的峰值内存使用量接近 4 GB。这适用于(32 位)Linux 和 OS X,但它在 Windows 上崩溃(这似乎强加了2 GB per process limit)。
如何使用vector< map<int, double> > 接口实现基于磁盘的数据结构(或以其他方式解决此问题)?
【问题讨论】:
标签: c++ algorithm memory data-structures stl