0
我得對的映射存儲雙重映射最有效的方法:存儲對
boost::unordered_map<pair<int, int>, double> P;
我發現訪問地圖是算法的瓶頸。
我只插入一次值(成千上萬對)。我有時更新值,有時只是查找。
什麼是優化查找和更新值的運行時間的方法?
編輯:
下面是我環路了數據:
p = make_pair(u, v);
q = P[p];
我發現,第二行花費更多的時間做一對,因爲我仰視很多時候對於許多按鍵來說都需要很長時間。
也許使用排序的向量或平面地圖? –
你如何找到,你如何更新? 'find'應該是分期固定的時間。 – UmNyobe
爲什麼你使用一對作爲關鍵?哈希函數將成爲您的問題的原因,但根據您的使用情況,最好使用不同的容器。 – cehnehdeh