我有這個問題: 我有一個圖節點,其值在1和200M之間。圖中有200M節點,不超過300M的轉換。轉換使用char符號('a'和'z'之間) 因此我將它們全部保留在此: map < char,int>轉換[200000000]; 但它是非常不便的。 in transitions [i] i是狀態的唯一值,並且transition [i] [c](其中c是char符號)是我們從「i」轉到char「c」的狀態。但是,如果我有8M的狀態,它需要1.6GB的內存。我有一個8 GB的RAM的限制,這個與200M節點一起工作。 你能給我一個更有效的建議嗎?我也有2個200萬大小的int數組。這也應該適合這些8GB的內存。它需要像1.6GB RAM :)有效的圖形解釋C++
1
A
回答
0
看來,使用
std::vector<std::pair<std::pair<int, char>, int>> edges;
會更有效:入門((f, x), t)
將是從節點f
過渡與符號z
節點t
。你會保持這個向量的排序,並使用std::lower_bound(edges.begin(), edges.end(), predicate)
和適當的謂詞來定位轉換。內存佔用可能大致爲3 * sizeof(int) * e
,其中e
是邊數。
+0
@Diemtar你的意思是'e'是到最後的邊數,對嗎? – Xephon
+0
@Xephon:呃,是的 - 第一次使用'n'但是通常用於節點...更正!謝謝! –
相關問題
- 1. Jmeter圖形解釋
- 2. c#請解釋它爲什麼有效,
- 3. 解釋NetworkX圓形圖
- 4. C#圖形無效
- 5. Scala解析器組合器:有效地解析C-Style註釋
- 6. 分形解釋
- 7. 的Visual C++圖形用戶界面的解釋需要
- 8. 解釋我的AppStats圖形db.get
- 9. C++:如何解釋圖像的字節數組表示形式?
- 10. Shell腳本,grep有效的IP解釋
- 11. 使用libpcap解釋有效載荷
- 12. C#迷宮求解圖形
- 13. GUID的解釋 - C++
- 14. 基本的C/C++解釋
- 15. 解釋C宏
- 16. 解釋在C
- 17. C++有人能解釋的字符串()
- 18. 是否有Mac的Objective-C解釋器?
- 19. Metro MediaCapture MFT效果解釋
- 20. 需要Xaml/C#圖像到DataGrid解釋
- 21. 解碼C#中的條形碼圖像
- 22. 從圖形API Explorer來有效的URL
- 23. C++模板解釋
- 24. C++指針解釋
- 25. C#解釋語言
- 26. C#語法解釋
- 27. 請解釋Objective-C
- 28. C功能解釋
- 29. 指針C++解釋
- 30. C++函子解釋
檢出增強圖庫:http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/index.html – Vertexwahn