一棵完全二叉树共有360个结点,则在该二叉树中度为1的结点个数为( ) A. 0 B. 1 C. 180 D. 181
答案:B
解析:总结点数=叶子结点数+度为1的结点数+度为2的结点数。叶子结点数=度为2的结点数+1=[总结点数/2](完全二叉树度为1的结点不是0就是1),[]表示向上取整。根据以上公式得出叶子结点为180,度为2的结点数为179,则度为1的结点数为1。所以选择B。
解析写的很清楚了。。
完全二叉树度为1的结点不是0就是1,这句话是关键
回复 qqq:为社么完全二叉树度为1的结点不是0就是1?
你可以随手画一棵完全二叉树看看,不会画就去百度看看
回复 qqq:
还是不懂啊
总结点数=叶子结点数+度为1的结点数+度为2的结点数 怎么退出叶子结点数=度为2的结点数+1=[总结点数/2]的?
(完全二叉树度为1的结点不是0就是1)这是为什么呢?
叶子结点数=度为2的结点数+1=[总结点数/2]这句话是通过 总结点数=叶子结点数+度为1的结点数+度为2的结点数 和 完全二叉树度为1的结点不是0就是1 这两句共同推理出的。
你发的这个完全二叉树就是度为1的节点数为0,如果F有一个左子树,那度为1的节点数就是1,所以完全二叉树度为1的结点不是0就是1。
我觉得你可以冷静点好好思考思考,逻辑思维很重要。
回复 qqq:叶子结点数=[总结点数/2]或是叶子结点数=[(总点数+1)/2]不是这两种情况吗,那怎么就说度为1的结点个数为1 了???
真心是不懂!!!!!怎么算出来的
叶子结点数=[总结点数/2]或是叶子结点数=[(总结点数-1)/2],应该是这两种情况。
[总结点数/2]表示向上取整。所以这两种情况得到的叶子节点数是一样的。
如果总节点数是360,那根据以上公式,叶子节点数为180,那度为2的节点就是179个,度为1的节点就是360-180-179=1个。
点赞
扫一扫分享朋友圈
二维码
分享
你确定要删除这个问题吗?