我正在尝试为三度树的顺序遍历(左,节点,中间,右)编写算法。
以下是正确的算法吗?
inorder(node)
{
if (node) {
inorder(node->left);
print("%d", node->value);
if (node->mid) {
inorder(node->mid);
print("%d", node->value);
inorder(node->right);
}
else
inorder(node->right);
}
}
答案 0 :(得分:0)
您错误地打印了节点的值两次。
您无需检查node->mid
,因为这是在inorder(node->mid);
内检查的。
inorder(node)
{
if (node)
{
inorder(node->left);
print("%d ", node->value);
inorder(node->mid);
inorder(node->right);
}
}