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
的非递归形式?