簡體   English   中英

在C ++中散列指針值

[英]Hashing pointer values in C++

在嘗試執行DFS時,最好的數據結構是保存所有已訪問節點的列表的方法? 如果每個節點都有唯一的ID,則一種方法是維護這些唯一ID的哈希。 如果它們沒有唯一的ID,則哈希節點是否可行?

不要將您訪問過的所有節點都放在哈希表中,而要把它們放在堆棧中。 如果將訪問的節點放在堆棧中,則可以更輕松地回溯和跟蹤搜索的其他分支。

讓我們考慮一下地址為什么不是唯一標識符的原因...

  1. 如果您要復制節點,則它們將獲得一個新地址。

  2. 如果您曾經釋放節點並分配新的節點,則新分配的節點可能會重用一些先前的地址。

如果您可以令人滿意地說上述內容不適用(我想他們不會),那么請確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM