ツリー内の各ノードがグラフから複数の頂点を持つことができるTreeDecompositionに取り組んでいます。
今、私は木の根から頂点uを含む最初のノードを見つけようとしています。
int Tree::traversing(Node* node, int u){
//search in current node
int j = node->point_in_bag(u); //this function returns position of vertex u in node if not available -1
if(j != -1){
return node->index;
}
else{
// traverse in its children
for(int k=0; k<node->children.size(); k++){ // children has the node's childs in it
Node* nod = node->children[k];
cout << "nod index is " << nod->index << endl;
traversing(nod,u); // if vertex isn't found in node, traverse again in its children
}
}
}
上記のように試しましたが、正確なノードインデックスが返されません。私はどこで間違っているのですか。