【发布时间】:2016-07-14 12:20:42
【问题描述】:
我正在处理一个家庭作业问题,要求我们找到一棵红黑树的内部路径长度。这是我目前实现的代码。
int Tree::internalpathlength(BinTree* root_node, int curr_level){
int ipl;
if(root_node == NULL){
return 0;
}
else if(root_node->colour == BLACK){
ipl = (curr_level+internalpathlength(root_node->left,curr_level+1)+internalpathlength(root_node->right,curr_level+1));
}
return ipl;
}
我想我错过了递归的基本情况。有人可以帮助我更好地理解它吗? 谢谢。
【问题讨论】:
-
如果条件都不匹配,则返回未初始化的值
int ipl;。 -
@πάνταῥεῖ。我修好了。我似乎仍然没有解决这个问题。我相信这与将根节点分配给 BLACK 有关。我不确定这是否是正确的做法。
标签: c++ recursion red-black-tree