非递归AVL树的高度

时间:2018-10-10 10:01:40

标签: c data-structures tree avl-tree

int get_height(struct avl_node *node)
{
    int height=0;
    if( node != NULL )
        height = 1 + max(get_height(node->left_child), 
                        get_height(node->right_child));
    return height;
}

我在C中运行AVL树程序。但是在编译时生成5万个随机数据,它们之间的差异在1到5万之间,这太长了。我发现函数get_height的递归形式是编译时间过长的问题。我厌倦了使用get_height函数的非递归形式来通过使用级别遍历来减少编译时间。但是后来我知道使用级别遍历是不正确的。是否有正确的get_height的非递归形式?

0 个答案:

没有答案