用二叉链表的方式建立的树怎么判断是否为完全二叉树
时间: 2024-04-05 11:30:31 浏览: 55
判断是否为完全二叉树
4星 · 用户满意度95%
对于一颗二叉树,如果其深度为d,除第d层外,其它各层(1~d-1)的节点数都达到了最大值,第d层所有的节点都从左向右连续地紧密排列,这样的二叉树被称为完全二叉树。
对于二叉链表来说,可以按照层序遍历的顺序给节点编号,从1开始逐个增加。如果当前节点的编号为i,则:
1.如果该节点是根节点,则编号为1;
2.如果该节点的编号为i,那么其左子节点的编号为2i,右子节点的编号为2i+1;
3.如果一个节点的编号为i,但是其父节点的编号为j,则i > j。
那么对于一颗完全二叉树,它的节点编号应该是连续的,没有间断。因此,我们可以按照层序遍历的顺序逐个检查节点的编号是否连续,如果出现了间断,则该二叉树不是完全二叉树。
阅读全文