C++での実装は次のようになる：
```
int countNodes(Node* root)
{
    if (root == NULL)
        return 0;
    return 1 + countNodes(root->left) +
               countNodes(root->right);
}
```

パフォーマンスをテストするには、for-loopで関数を何千回も繰り返し実行し、実行時間を表示することができます。
pythonでは次のようになります：
```
from time import perfcounter

n_iter = 1000
root = ...
# aufsetzung des baumes
# ...

t0 = perfcounter()
for _ in range(n_iter):
     count_nodes(root)
print(f"{n_iter} iterations took: {perfcounter()-t0}")
```
So könnte eine Implementierung in C++ aussehen:
int countNodes(Node* root)
{
    if (root == NULL)
        return 0;
    return 1 + countNodes(root->left) +
               countNodes(root->right);
}

Um die Performance zu testen, könntest du die Funktionen jeweils in einer For-Loop mit tausenden Iterationen laufen lassen, um dir dann die Laufzeit ausgeben zu lassen.
In python würde das bspw so aussehen:
from time import perfcounter

n_iter = 1000
root = ...
# aufsetzung des baumes
# ...

t0 = perfcounter()
for _ in range(n_iter):
     count_nodes(root)
print(f"{n_iter} iterations took: {perfcounter()-t0}")