在試圖執行DFS時,保存所有已訪問節點列表的最佳數據結構是什麼?如果每個節點都有一個唯一的ID,則一種方法是維護這些唯一ID的散列。如果他們沒有唯一的ID,哈希節點是否可行?在C++中散列指針值
0
A
回答
1
而不是把你訪問過的所有節點放到一個散列表中,把它們放在一個堆棧中。如果將訪問過的節點放入堆棧中,則可以更容易地返回並跟蹤搜索的其他分支。
0
讓我們考慮的原因地址不會是唯一的標識符...
假如你被複制的節點,那麼他們將獲得一個新的地址。
如果您釋放節點並分配新節點,那麼新分配的節點可以重新使用一些先前的地址。
如果你能夠令人滿意地說上述不適用(我猜他們不會),那麼肯定吧,馬上開始吧。
相關問題
- 1. 指針值的散列值
- 2. 用指針作爲值的散列圖
- 3. GLib散列表 - 指針
- 4. 指針值C空指針
- 5. C指針隊列中的指針
- 6. 在C++中爲指針指定指針
- 7. C指針列表(雙指針)
- 8. 散列表副本導致空指針
- 9. 將值指針傳遞給c函數中的指針值
- 10. 在C++中使用指針陣列
- 11. C:散列表上不兼容的指針類型
- 12. C++將函數指針轉換爲唯一的「散列」鍵
- 13. 創建散列表用於存儲某些指針的值
- 14. 在C和C++中,const指針指針指的是什麼?
- 15. 指針在C#
- 16. 指針在C
- 17. 指針 - 在C++
- 18. 指針在C
- 19. 在C++指針
- 20. 指針的C++打印值
- 21. C++:指針值地址
- 22. 指針賦值錯誤C
- 23. 複製指針值C++
- 24. 理解指針(在C):將INT字符指針和改變值
- 25. 賦值使指針中的整數無指針C
- 26. 如何打印C++中指針指針的所有值?
- 27. C++刪除指針列表
- 28. C++陣列VS指針
- 29. 指針C++的2D陣列
- 30. C++矢量指針陣列
爲什麼你不能把指針指向'size_t'? – ildjarn 2011-04-25 15:27:20
指針不是唯一的ID本身(當序列化存儲數據和它的原始地址時)。因此,在反序列化時,您只需將指針映射到新的內存位置即可。 – 2011-04-25 15:36:19