在尝试进行DFS时,保存所有已访问节点列表的最佳数据结构是什么?如果每个节点都有唯一的id,则一种方法是维护这些唯一ID的散列。如果它们没有唯一的id,那么散列节点是否可行?
答案 0 :(得分:1)
不要将您访问过的所有节点都放在哈希表中,而是将它们放在堆栈中。如果将访问过的节点放在堆栈中,则可以更容易地回溯并跟踪搜索的其他分支。
答案 1 :(得分:0)
让我们想一想地址不是唯一标识符的原因......
如果您要复制节点,那么他们将获得一个新地址。
如果您释放节点并分配新节点,则新分配的节点可以重复使用以前的某些地址。
如果您能够满意地说上述内容不适用(我的猜测是不会),那么请确保前进。