我有两个问题。这两个函数的当前运行时是什么?如果它不是O(1)(对我来说似乎是O(n))有人可以给我一个暗示(而不是给我答案)关于如何将它变成O(1)吗?谢谢
static int size(NODE *r)
{
if(r==NULL)
return 0;
return size(r->left) + size(r->right) + 1;
}
int bst_size(BST_PTR t)
{
return size(t->root);
}
答案 0 :(得分:0)
节点可以在BST struct
中进行计数,这将具有在插入/移除时递增和递减的计数器。