根节点的高度为 $1$,一棵拥有 $2023$个节点的三叉树高度至少为()。
这题考三叉树节点数公式,拿到题先想‘满三叉树’每层最多放几个,用等比数列求和公式算高度 h 能装多少节点,然后找最小的 h 使节点数≥2023。
最容易把三叉树当二叉树算,套成 2^h-1,或者误以为每层节点数是 3^h 而不是 3^(h-1),导致算出的高度偏小。还有个坑是题目根高度为 1,别按从 0 开始数层,算完高度后直接选答案,不用减 1。
这题考查三叉树节点数与高度的关系。树的高度定义为从根节点(高度为 1)到最深叶子节点的节点数。一棵高度为 h 的"满三叉树",每一层的节点数构成等比数列:第 1 层 1 个,第 2 层 3 个,第 3 层 9 个……第 h 层 3^(h-1) 个。总节点数就是等比数列求和:
N(h) = 1 + 3 + 9 + … + 3^(h-1) = (3^h - 1) / (3 - 1) = (3^h - 1) / 2
命题人喜欢挖两个坑:一是混淆三叉树与二叉树的节点数公式(二叉树是 2^h - 1),二是层数计数起点错误(题目明确根高度为 1,别按从 0 开始数)。这题就是让你用满三叉树公式反推高度。