标签: c++ c++11 graph c++14
我正在研究一些编程问题。您将获得一个包含N个节点和N-1个边的图(树)。要解决这个问题,我需要知道谁是这里的父亲。
什么是节点的父亲?好吧,例如我们有这棵树:1。节点B的父亲是节点F,节点E的父亲是节点D等。唯一没有父亲的节点是F.
由于N <= 3 * 10 ^ 6,我需要一个O(N)解决方案。任何想法我怎么能记住(例如在一个向量中)谁是每个(1..N)节点父亲的X(X是一个节点)?
编辑:我需要知道这棵树中每个节点的父亲,忘了提到这个相关的东西。
答案 0 :(得分:0)
有一个简单的解决方案。只需做一个Depth first search。
如果你记得你来自哪里,你就知道当前节点的父(父)。