在O(1)时间内找到BST大小C.

时间:2013-12-08 20:29:52

标签: c binary-search-tree

我有两个问题。这两个函数的当前运行时是什么?如果它不是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);
}

1 个答案:

答案 0 :(得分:0)

节点可以在BST struct中进行计数,这将具有在插入/移除时递增和递减的计数器。