2
我有一個排序圖,當我加載邊時,我使用散列表來查找頂點。邊緣按照源排序,因此我只需要查看「更深」的頂點。如果給定的邊具有水平上的源頂點n,則接收器頂點必須在水平上m,其中m> n。我需要利用這種行爲來提高性能。結合查找和有序數據的C++數據結構
「理想」天真解決方案將是每個級別的散列表,我可以使用該級別查找正確的表格,然後在表格中查找元素。這也使我能夠在n,源等級大於等級時能夠回收內存的額外好處。不幸的是,該圖對於這種方法來說太大了,10^6級和10^9個頂點。
有沒有人有什麼建議我應該看什麼數據結構? Gracias
爲什麼你需要在每個級別的哈希表?只有一個普通的圖形結構(爲每個節點分配內存,並從每個節點到每個接收器都有一個指針)有什麼問題?這仍然讓你查找任何頂點,給定它的地址,並且從每個頂點可以找到它指向的所有頂點。也許我不瞭解你需要執行什麼操作。 – mgiuca 2010-11-29 01:25:02