0
第n個節點使用該引導程序:查找二叉搜索樹
template <class Comparable>
const Comparable& AugmentedBinarySearchTree<Comparable>::NthElement(int n)
{
int *i = 0;
return NthElement(root, i, n)->element;
}
你怎麼會發現在使用nodesVisited
指針跟蹤節點查了BST的第n個節點?
template <class Comparable>
BinaryNode<Comparable>* AugmentedBinarySearchTree<Comparable>::
NthElement(BinaryNode<Comparable> *t, int *nodesVisited, int n) const
{
}
在BST每個節點都有一個指針left
和right
和稱爲element
的template <class Comparable>
的值。
二叉樹中的「第N個節點」是什麼意思?這不取決於二叉樹是如何遍歷的? – PaulMcKenzie
@PaulMcKenzie通過查找「第N個節點」,我的意思是插入樹中的第n個值,這是非常明顯的。 –
以任何您想要的順序遍歷樹(可能按順序)。爲每個節點增加'* nodesVisited'。當'* nodesVisited == n'時停止。 –