数据结构面试题/判断一棵树是否是完全二叉树
二叉树:
1.满二叉树:在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子节点都在同一层上。
2.完全二叉树:如果一棵具有N个结点的二叉树的结构与满二叉树的前N个结点的结构相同,称为完全二叉树。
//判断一棵二叉树是否是完全二叉树--利用层序遍历来处理->关键:找第一个度不为2的结点->后序结点:如果有孩子则不是完全二叉树,否则是bool IsCompleteBinaryTree(){if (NULL == _pRoot) //return false;bool isOnlyLeft = false; //标记仅有左节点的结点queue<Node*> q;q.push(_pRoot);while (!q.empty()) {Node* pCur = q.front();q.pop();if (isOnlyLeft){if (pCur->_pLeft || pCur->_pRight)return false;}else{if (NULL == pCur->_pLeft && NULL != pCur->_pRight) //存在右孩子没有左孩子,一定不为完全二叉树return false;else if (NULL != pCur->_pLeft && NULL == pCur->_pRight) //存在左孩子没有右孩子可能不是,记录标记结点看后续结点{q.push(pCur->_pLeft);isOnlyLeft = true; //只有左孩子是非满结点}else if (NULL != pCur->_pLeft && NULL != pCur->_pRight) // 左右孩子都存在,入队列继续循环判断 {q.push(pCur->_pLeft);q.push(pCur->_pRight);}elseisOnlyLeft = true; //左右孩子都存在,为非满结点,看后续结点}}return true;}
判断一棵树是否是完全二叉树
数据结构面试题/判断一棵树是否是完全二叉树相关推荐
- 数据结构与算法之判断一棵树是否为搜索二叉树、判断一棵树是否是完全二叉树
数据结构与算法之判断一棵树是否为搜索二叉树.判断一棵树是否是完全二叉树 目录 判断一棵树是否为搜索二叉树 判断一棵树是否是完全二叉树 1. 判断一棵树是否为搜索二叉树 概念:搜索树就是中序遍历的结果是 ...
- 判断一棵树是否是搜索二叉树 判断一棵树是否是完全二叉树
package class_04;import java.util.LinkedList; import java.util.Queue; /*** * 判断一棵树是否是搜索二叉树* 判断一棵树是否是 ...
- 判断一棵树是否是完全二叉树
1.[基础题]–判断一棵树是否是完全二叉树.提示:层序遍历变型题. (1)基础知识 [二叉树]:二叉树是一棵特殊的树,二叉树每个节点最多有两个孩子结点,分别称为左孩子和右孩子. [满二叉树]:高度为N ...
- 判断一棵树是否为完全二叉树的算法c语言_[二叉树的面试算法](六)之二叉树结构判断-相关题型总结(4题)...
在线oj练习地址 判断两棵二叉树是否相同_leetcode100 判断一棵树是否是平衡二叉树_leetcode110 翻转二叉树_leetcode226 判断一棵树是否为对称二叉树_leetcode1 ...
- 判断一棵树是否为完全二叉树的算法c语言_别再翻了,面试二叉树看这 11 个就够了!||CSDN博客精选...
作者:一只不甘平凡的小鹿 数据结构与算法: 不知道你有没有这种困惑,虽然刷了很多算法题,当去面试的时候,面试官让你手写一个算法,可能你对此算法很熟悉,知道实现思路,但是总是不知道该在什么地方写,而且很 ...
- 判断一棵树是否为完全二叉树的算法c语言,判断是否为完全二叉树
什么是二叉树(Binary Tree) 每个结点至多拥有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒. 二叉树包含三种特殊的二叉树,完全二叉树.完满二叉 ...
- 判断一颗树是否为完全二叉树
题目链接:https://oj.ismdeep.com/contest/problem?id=1396&pid=7 H: CBT? 时间限制: 1 s 内存限制: 128 MB ...
- 数据结构面试题(史上最全面试题,精心整理100家互联网企业,面试必过)
最全面试题,精心整理100家互联网企业面经,祝你面试成功.面试必过(2023优化版)已发布在个人微信公众号[面向Offer学编程],优化版首先修正了读者反馈的部分答案存在的错误,同时根据最新面试总结, ...
- 数据结构面试题编程题_您下次编程面试时应该了解的顶级数据结构
数据结构面试题编程题 by Fahim ul Haq 通过Fahim ul Haq Niklaus Wirth, a Swiss computer scientist, wrote a book in ...
最新文章
- boost::system模块实现初始化顺序的测试程序
- 控件的WM_NOTIFY消息映射
- 2020 年 Flink 最佳学习路线,学习的路上,你,并不孤单
- java arraylist 赋值_ArrayList源码解析,老哥,来一起复习一哈?
- php yat grpc,PHP GRPC 模块安装配置-Go语言中文社区
- 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感
- c++ bitset类用法
- 关于计算机取代学校的英语作文,关于网络教室将取代传统的教室英语作文
- 公共IPV6 dns大全
- linux系统文件夹(转)
- CF 1056D Decorate Apple Tree
- HTTP 204和304的区别
- Windows server 2012 R2系统怎么安装IIS管理器?
- 新一代智慧医疗整体解决方案
- 【蓝桥杯】历届试题 数字游戏(C++)
- 程序员必须要掌握的 Git 操作技巧
- JS更好的字符串排序(字母顺序+数字大小排序)
- CSS3的字体和文本相关属性
- html怎样和css链接起来,html如何跟css链接?
- Yearn Finance闪电贷攻击分析学习
热门文章
- [Cocos2D-X] Cocos2D-X TestCPP 详解(二)Action 总结
- 深度卷积生成对抗网络DCGAN之实现动漫头像的生成(基于keras Tensorflow2.0实现)
- 《2021多多阅读报告》发布,95后、00后图书消费潜力攀升
- java xmn_Java JVM 参数 -Xms -Xmx -Xmn -Xss调优总结
- 2021/3/8--前端第2天--开发工具、快捷键、标签
- Pittkai——Android折叠屏生命周期
- git找回被删除的文件
- C#实现三维数字地形漫游
- jQuery鼠标点击事件
- AI联盟智能控制盒连接不上天猫精灵