题目:一颗二叉树以二叉链表的形式存储,编写一个算法判断其是否是一个完全二叉树
分析:
        我们仍然可以借助队列来完成这件事,具体做法为:我们依次将二叉树从上到下,从左到右入栈,包括空节点,如遇空节点,
        若队列非空,则判断其后是否还存在节点,若有,则该树为非完全二叉树。

代码:

struct biTree {char data;struct biTree *lchild;struct biTree *rchild;
};
struct Squeue {biTree data;int front, rear;
};
#include <stdio.h>
#include <stdlib.h>
bool isComplete(biTree *T,Squeue *sq,int maxSize) {if (!T)return true;bool enQueueS(Squeue *, biTree *, int maxSize);bool deQueueS(Squeue *, biTree *, int maxSize);bool isEmpty(Squeue *);struct biTree *p = T;struct biTree *r = (struct biTree*)malloc(sizeof(struct biTree));enQueueS(sq,p,maxSize);//根节点入队while (!isEmpty(sq)) {deQueueS(sq,r,maxSize);//取出队首元素if (r->data != '#') {enQueueS(sq,r->lchild,maxSize);enQueueS(sq, r->rchild, maxSize);}else {while (!isEmp

判断一棵树是否是一颗完全二叉树☆相关推荐

  1. 二叉树 判断一棵树是否是另一棵树的子树

    题目:判断判断一棵树是否是另一棵树的子树,子树的意思是只要包含了一个结点,就得包含这个结点下的所有节点.意思就是二叉树结点的值也要相等 如下图2就是1的子树 如果将第二颗树根节点右孩子data改为2 ...

  2. C++判断一棵树是否为AVL(二叉平衡树)

    1. 题目要求 判断一棵二叉树是否是平衡二叉树 2. 思路 AVL树的名字来源于它的发明作者G.M. Adelson-Velsky 和 E.M. Landis.AVL树是最先发明的自平衡二叉查找树(S ...

  3. 数据结构与算法之判断一棵树是否为搜索二叉树、判断一棵树是否是完全二叉树

    数据结构与算法之判断一棵树是否为搜索二叉树.判断一棵树是否是完全二叉树 目录 判断一棵树是否为搜索二叉树 判断一棵树是否是完全二叉树 1. 判断一棵树是否为搜索二叉树 概念:搜索树就是中序遍历的结果是 ...

  4. 数据结构与算法之二叉树的序列化和反序列化及判断一棵树是否为平衡二叉树

    数据结构与算法之二叉树的序列化和反序列化及判断一棵树是否为平衡而二叉树 目录 二叉树的序列化和反序列化 判断一棵树是否为平衡而二叉树 1. 二叉树的序列化和反序列化 1. 递归版本序列化和反序列化 代 ...

  5. 数据结构-判断一棵树是否为二叉排序树

    判断一棵树是否为二叉排序树 二叉排序树的性质:如果按照中序遍历的方式遍历二叉排序树的话,遍历的数字是呈递增趋势的.我们根据这个思路去判断是否为二叉排序树. 思路: ①建树 ②设立一个变量去记录当前已经 ...

  6. 数据结构---判断一棵树是否是二叉搜索树

    数据结构-判断一棵树是否是二叉搜索树 代码: #pragma once #define N 100 #define elemType BTree* #include<stdlib.h> t ...

  7. 判断一棵树是否为完全二叉树的算法c语言_[二叉树的面试算法](六)之二叉树结构判断-相关题型总结(4题)...

    在线oj练习地址 判断两棵二叉树是否相同_leetcode100 判断一棵树是否是平衡二叉树_leetcode110 翻转二叉树_leetcode226 判断一棵树是否为对称二叉树_leetcode1 ...

  8. 如何判断一棵树是否是满二叉树

    判断一棵树是否是满二叉树 1.满二叉树定义 2.如何判断一棵树是否是满二叉树 3.代码 1.满二叉树定义 除最后一层无子节点外,其他层的所有节点都有两个子节点的二叉树就是满二叉树.如下图所示: 2.如 ...

  9. 判断一棵树是否是另一棵树的子树(Java实现)

    前面一篇文章介绍了如何判断两棵树相等,思路就是遍历每个节点,然后判断是否均相等,需要用递归来实现.如果需要判断一棵树是另一棵树的子树,该怎么办呢?我们需要借助前面的思路,需要先判断两棵树相等,这里就是 ...

最新文章

  1. 《高效程序员的45个习惯》读后感
  2. 关于Action返回结果类型的事儿(下)
  3. C++ 指针 vs 数组
  4. 读Google是如何做测试的
  5. OpenCV与图像处理学习八——图像边缘提取(Canny检测代码)
  6. 背包——变向背包(hdu2546,1114,1203,2189)
  7. FastDFS特性及问题思考
  8. 数据结构笔记(五)-- 循环链表的实现
  9. 计算数据个数mysql thinkphp_ThinkPHP5 (mySQL) 统计各个时间段内的订单量
  10. 焊接工时简便计算工具_焊接工时定额计算手册.doc
  11. Nginx 限流配置-令牌桶算法
  12. 低代码和零代码火了,十大利器推荐
  13. 视频直播中的心形漂浮效果
  14. 将 ChatGPT 引入你的飞书
  15. 二叉树中已知前序和中序求其后序(图解加技巧让你轻松掌握)
  16. 2021-04-23 一年后第一次踢球
  17. 阿里P8整理Mysql面试题答案,助你面试“脱颖而出”
  18. 微信小程序-仿今日头条客户端
  19. 华为OD机试 - 相对开音节 | 备考思路,刷题要点,答疑 【新解法】
  20. 服务器压力测试_性能测试新手误区(四):一切来自录制

热门文章

  1. Xamarin Android Webview中JS调用App中的C#方法
  2. tomcat8+idea远程调试
  3. 带权图的最短路径算法(Dijkstra)实现
  4. 前端javascript经典面试题集合(2020年最新)
  5. HTML-Label-框架-字符实体-全局属性-CSS基本语法结构
  6. 【ES6】let命令、const命令、解构赋值
  7. 剑指offer-JZ27 二叉树的镜像(C++,附思路)
  8. 4017-二叉排序树的限定条件下的数据输出(C++,附思路及建立时的可能错误排查)
  9. 基于python的图像变换(翻转、平移、缩放、旋转、仿射和透视变换)
  10. 眉山市2021高考成绩查询,四川省眉山市2021年普通高校招生网上报名入口