看板 EE_DSnP 關於我們 聯絡資訊
我在看講義Topic 10的slide 30 DFS的 pseudocode 我可以了解dfsList用來存放按照post order traversal所經過的點 那想請問大家 fbList是用來存放麼用的呢? ----------- void Graph::dfsTraversal(const List<Node*>& srcList) { Node::setGlobalRef(); for_each_source(node, srcList) node->dfsTraversal(_dfsList, _fbList); } // post order traversal void Node::dfsTraversal (List<Node *>& dfsList, list<Node*>& fbList) { for_each_sucecessor(next, _successors) { if (!next->isGlobalRef()) { next->setToGlobalRef(); next->setActive(); next->dfsTraversal(dfsList, fbList); next->unsetActive(); } else if (next->isActive()) fbList.push_back(this, next); } dfsList.push_back(this); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.94.109
MrOrz:facebookList (被拖走 01/11 18:27
TommyKSHS:我跟樓上想的一樣 XXD 01/11 18:36
MrOrz:看起來是當圖裡有圈圈的時候,紀錄圈圈「接合」的地方 01/11 18:40
MrOrz:一個 node 只有「正在遍歷其子節點」的時候,isActive()為真 01/11 18:41
MrOrz:所以撞到一個 isActive() 為真的點,代表偵測到圈了 01/11 18:42
aldreamp:喔喔謝謝 01/16 16:57