关于数据结构的---高手进

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:26:49
一棵完全二叉树共有700个结点,则该二叉树中有多少个叶子结点??
为什么 要详细过程!!

首先考虑该二叉树有多少层。我们知道二叉树的第i层有2^i(2的i次方,下同)个结点,而1+2+4+8+16+32+64+128+256<700,1+2+4+8+16+32+64+128+256+512>700,所以可以确定该二叉树有10层。前9层共有1+2+4+8+16+32+64+128+256=511个结点,所以第10层有700-511=189个结点。在第10层结点出现之前,第9层的所有结点为叶子,共有256个;而第10层的出现使得前189/2=95个结点不是叶子,同时第10层的所有结点均为叶子,所以总共有256-95+189=350个叶子。