树的高度定义为树中最长路径上的边数。下面伪代码中显示的函数作为高度(根)调用,以计算以树指针根为根的二叉树的高度。
两个框 B1 和 B2 的适当表达式是
(A) B1 : (1 + height(n->right)), B2 : (1 + max(h1,h2))
(B) B1 : (height(n->right)), B2 : (1 + max(h1,h2))
(C) B1 : height(n->right), B2 : max(h1,h2)
(D) B1 : (1 + height(n->right)), B2 : max(h1,h2)答案:(一)
说明:当 n 的左子树为 NULL 且右 sbtree 不为 NULL 时,执行框 B1。在这种情况下,n 的高度将是右子树的高度加一。
当 n 的左右 sbtree 都不为 NULL 时,框 B2 被执行。在这种情况下,n 的高度将是 n 的左右 sbtree 高度的最大值加 1。
这个问题的测验