写在最前面: 近期有点繁忙有些题目没配图,真香。
1、题目
2、图文讲解
该题我是用数组来存储的, 用数组构造二叉树。(如果大佬还有更好的方法, 请留言指导)
大家都知道完全二叉树的图是这样的下↓(本着NPNBB 没有图片别哔哔的原则, 所以T.J 给你们画了几张图 )
在数组中表现的形式是一串连续的数
所以利用数组构建搜索树的这个特点 可以判断是否为完全二叉树。
3.代码实现:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int t[600000];//数组模拟搜索树
int N;
void insert(int i,int num)//插入函数
{
if(t[i] == -1)//表示为空t[] = -1 表示该节点为空
{
t[i] = num;
}
else if(num > t[i])//如果比根大 递归到左儿子
{