二叉树经典面试题4~判断一棵树是否是完全二叉树

本文探讨如何判断一棵树是否为完全二叉树。完全二叉树定义为除最后一层外,每层节点数达到最大值,且最后一层节点从左到右填充。文中介绍了两种判断方法:标记法和剩余队列判空法,并提供了完整的代码实现,是理解完全二叉树概念和面试准备的好资料。
摘要由CSDN通过智能技术生成

 一.问题描述

  有一棵树判断该树是否是完全二叉树?

二.问题分析

1.完全二叉树的定义?

  判断一棵树是否是完全二叉树,首先要知道什仫是完全二叉树?完全二叉树就是除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。

   

若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。

完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

一棵二叉树至多只有最下面的两层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,则此二叉树成为完全二叉树。



   

 2.如何判断一棵树是完全二叉树?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值