当前位置: 首页 > news >正文

c语言数据结构 二叉树(二)

一.关于二叉树的一些基本功能的实现

1.紧接上文博客遗留的问题,如何求二叉树第k层结点个数。

利用子问题解决,代码实现如下所示

2.在二叉树中找到数据为x的结点并返回

利用子问题来解决 

时间复杂度为O(N)

二.有关二叉树的OJ题讲解

1.单值二叉树的判断

题目要求:

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。

只有给定的树是单值二叉树时,才返回 true;否则返回 false

例:

 代码如下:

2. 相同的树的判断

题目要求:

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

例:

 

 代码如下:

 3.另一棵树的子树

题目要求 :

给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。

二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。

例:

代码如下:

 

4.二叉树前序遍历

题目要求:

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

 例:

OJ题目一般分为两种:接口型和IO型

代码实现如下所示

 

 

相关文章:

  • 基于QT实现的SSL协议的安全报文发送接收设计
  • 虚拟列表的原理
  • 【Ubuntu小工具安装】
  • Vue封神之路(2.) Vue简介
  • 分布式锁全家桶
  • 数据库优化(8月27号)
  • 【BurpSuite】插件开发学习之J2EEScan(下)-主动扫描(11-20)
  • json/xml/schema
  • 进程管理学习
  • XMLHttpRequest对象,简单ajax get请求的例子
  • 在 Windows 10 | Docker Desktop | Kubernetes 环境 使用 hostPath / local 为 POD 配置本机目录
  • .NET 服务 ServiceController
  • 卧槽!GitHub排行榜即将下线;酷炫的Python热重载工具;开发者体验·电子书;C++最佳实践合辑;前沿论文 | ShowMeAI资讯日报
  • 基于惯性权值非线性递减的改进粒子群算法 - 附代码
  • 用ARM进行汇编语言编程(4)带有分支的循环和条件指令执行
  • [译] 怎样写一个基础的编译器
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【个人向】《HTTP图解》阅后小结
  • co.js - 让异步代码同步化
  • CSS居中完全指南——构建CSS居中决策树
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • gitlab-ci配置详解(一)
  • Java小白进阶笔记(3)-初级面向对象
  • java正则表式的使用
  • Magento 1.x 中文订单打印乱码
  • mysql中InnoDB引擎中页的概念
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • SQLServer插入数据
  • vue:响应原理
  • vue学习系列(二)vue-cli
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 翻译--Thinking in React
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 精彩代码 vue.js
  • 使用putty远程连接linux
  • 算法之不定期更新(一)(2018-04-12)
  • 一个JAVA程序员成长之路分享
  • 一个项目push到多个远程Git仓库
  • 译有关态射的一切
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #QT(智能家居界面-界面切换)
  • (3)nginx 配置(nginx.conf)
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二)丶RabbitMQ的六大核心
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (五)MySQL的备份及恢复
  • (一)appium-desktop定位元素原理
  • (一)Dubbo快速入门、介绍、使用
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu