首页 > 其他分享 >学校的数据结构实验_二叉树c语言实现

学校的数据结构实验_二叉树c语言实现

时间:2023-05-10 22:23:36浏览次数:48  
标签:遍历 递归 层序 宽度 实验 二叉树 数据结构

二叉树的实现包括二叉树的构建,和二叉树的前中后序便利,二叉树的层序非递归遍历,求二叉树的总结点,求二叉树的最大深度和求二叉树的最大宽度,

因为实验主要是对二叉树的各个属性数据测量,所以这里手动链接了一颗二叉树.随后用调用函数接口传参二叉树的根节点测量二叉树的属性.

递归遍历很容易:

 接下来是非递归:

选用层序遍历非递归,运用队列的数据结构辅助实现层序遍历;

 然后是求最大深度:

 总结点数和宽度:

 用层序遍历的思想加一个计数器计算总节点.

 最大宽度这里也是运用层序遍历的思想实现,只不过这里用了一个for循环控制队列的行为,使其满足要求.

 

测试结果符合预期

标签:遍历,递归,层序,宽度,实验,二叉树,数据结构
From: https://www.cnblogs.com/qjwxlj/p/17389504.html

相关文章

  • 学校数据结构实验_线性表:纯C语言版
    首先分别声明链表和顺序表的结构单位,  1:插入实现:顺序表插入比较简单,直接访问下表找到插入位置,然后移动所有后面的数据将插入的位置空出来,然后将需要插入的数据插入,链表的插入:因为一般链表都是调用头插或者尾插,但是为了和顺序表相比较,再插入的时候增加了随机位置......
  • 实验四 Web综合应用程序设计
    实验项目名称:实验四Web综合应用程序设计一、实验目的通过使用JavaMVC模式设计简单的数据库管理系统,巩固使用JDBC技术访问数据库的方法,学习使用Java语言对服务器端进行编程,深入理解MVC网站设计模式的基本概念和框架结构。二、实验内容和基本要求从以下列举的四个数据库中,任......
  • 实验五
    实验一#include<stdio.h>#defineN4intmain(){intx[N]={1,9,8,4};inti;int*p;for(i=0;i<N;++i)printf("%d",x[i]);printf("\n");for(p=x;p<x+N;++p)print......
  • 数据结构 幂等性是什么?
    https://blog.csdn.net/qq_34801169/article/details/114374827一、幂等性:幂等性,是分布式环境下的一个常见问题,一般是指我们在进行多次操作时,所得到的结果是一样的,即多次运算结果是一致的。也就是说,用户对于同一操作,无论是发起一次请求还是多次请求,最终的执行结果是一致的,不会......
  • 实验5yuan
    task1.1源代码#include<stdio.h>#defineN4intmain(){intx[N]={1,9,8,4};inti;int*p;//方式1:通过数组名和下标遍历输出数组元素for(i=0;i<N;++i)printf("%d",x[i]);printf("\n");//方式2:通过指针变量遍历输出数组元素(写法1)for(p=x;p<......
  • 2 实验 检验你的理论
    一个好实验,既能解决问题又能揭示事物的真正运行规律;一个好实验往往能让你摆脱对观察数据的无限依赖,能帮助你理清因果联系;可靠的实证数据将让你的分析判断更有说服力务必使用比较法统计与分析最基本的原理之一就是比较法,它指出,数据只有通过相互比较才会有意义。比较是破解......
  • 关于数据结构
    1月15日,TSOI2022迎来了曾获NOI铜牌的Vergil学长!而Vergil线下课的第一个板块就是——数据结构。本文会梳理Vergil所讲的所有数据结构,我们进入正题。2023.2.14感谢大佬L3067545513帮忙修改LCA~2023.2.19ST表被批评了QAQ线段树引入线段树,顾名思义,我们......
  • 968. 监控二叉树
    给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。计算监控树的所有节点所需的最小摄像头数量。示例1:输入:[0,0,null,0,0]输出:1解释:如图所示,一台摄像头足以监控所有节点。我的解法classSolution{private:......
  • 2022年考研数据结构_3 栈和队列
    文章目录3.栈和队列3.1栈3.1.1栈的定义3.1.2栈的实现3.1.3栈的应用(1)递归(2)四则运算表达式求解①中缀表达式转后缀表达式②后缀表达式的计算3.2队列3.2.1队列的定义3.2.2队列的实现3.2.2队列的应用3.3应用3.3.1表达式语言表示1--中缀转后缀语言表述2--中缀转后缀优......
  • 搭建空地异构多机器人协同系统实验平台
    ♪搭建空地异构多机器人协同系统实验平台,2022年4月-2022年6月: 参与内容:[1]设计动捕摄像头的安装布线等配置方案;[2]通过多智能体行为控制理论对空地协同运动学行为进行深度建模;[3] 基于ROS系统对空地协同行为控制算法进行开发与验证;[4] 实现包括集群编队、协同避障与动......