该项目是向BST中的每个节点添加单词。 我需要计算BST中唯一或不同值的数量。
这是我添加单词的代码。我需要写作方面的帮助 int differentWords()const;。
void WordTree:: addPrivate(WordNode *n, ItemType v)
{
if (root == NULL)
root = new WordNode(v);
else if (v == n->m_data)
{
n->m_count++;
}
else if (v < n->m_data)
{
if (n->m_left != NULL)
{
addPrivate(n->m_left, v);
}
else
{
n->m_left = new WordNode(v);
}
}
else if (v > n->m_data)
{
if (n->m_right != NULL)
{
addPrivate(n->m_right, v);
}
else
{
n->m_right = new WordNode(v);
}
}
}
答案 0 :(得分:0)
在那棵树上,这与节点数相同。
递归确定节点数:
在C ++中,
int distinctWords(const WordNode* node)
{
return node == nullptr
? 0
: 1 + distinctWords(node->m_left) + distinctWords(node->m_right);
}