总结8..

 #include <stdio.h>

// 定义结构体表示二叉树节点,包含左右子节点编号

struct node {

    int l;

    int r;

} tree[100000];

// 全局变量记录二叉树最大深度,初始为0

int ans = 0;

// 深度优先搜索函数

// pos: 当前节点在数组中的位置,deep: 当前深度

void dfs(int pos, int deep) {

    // 若为叶子节点

    if (tree[pos].l == 0 && tree[pos].r == 0) {

        if (deep > ans) ans = deep; // 更新最大深度

        return;

    }

    dfs(tree[pos].l, deep + 1); // 递归搜索左子树

    dfs(tree[pos].r, deep + 1); // 递归搜索右子树

}

 

int main() {

    int n;

    scanf("%d", &n); // 输入节点数

 

    // 输入每个节点的左右子节点编号

    for (int i = 1; i <= n; i++) {

        scanf("%d %d", &tree[i].l, &tree[i].r);

    }

    dfs(1, 1); // 从根节点开始搜索,初始深度为1

    printf("%d\n", ans); // 输出最大深度

    return 0;

}

 #include <stdio.h>

// 定义结构体 node 表示二叉树的节点,每个节点包含左子节点 l 和右子节点 r

struct node {

    char l;

    char r;

} tree[200];

// 深度优先搜索函数,用于实现二叉树的先序遍历(根 - 左 - 右)

// pos: 当前正在处理的节点值

void dfs(char pos) {

    // 输出当前节点的值,实现先序遍历中先访问根节点的操作

    printf("%c", pos);

    // 如果当前节点的左子节点不是 '*'(这里 '*' 表示空节点),则递归遍历左子树

    if (tree[pos].l!= '*') {

        dfs(tree[pos].l);

    }

    // 如果当前节点的右子节点不是 '*'(这里 '*' 表示空节点),则递归遍历右子树

    if (tree[pos].r!= '*') {

        dfs(tree[pos].r);

    }

}

 

int main() {

    int n;

    char a, b;

    // 读取二叉树的节点个数

    scanf("%d", &n);

    // 循环读取每个节点的信息

    for (int i = 1; i <= n; i++) {

        // 读取当前节点的值

        scanf(" %c", &a);

        // 记录第一个节点的值,作为二叉树的根节点

        if (i == 1) {

            b = a;

        }

        // 读取当前节点的左子节点和右子节点的值

        scanf("%c%c", &tree[a].l, &tree[a].r);

    }

    // 从根节点开始进行深度优先搜索(先序遍历)

    dfs(b);

    return 0;

}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/68327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科普篇 | “机架、塔式、刀片”三类服务器对比

一、引言 在互联网的世界里&#xff0c;服务器就像是默默运转的超级大脑&#xff0c;支撑着我们日常使用的各种网络服务。今天&#xff0c;咱们来聊聊服务器家族中的三位 “明星成员”&#xff1a;机架式服务器、塔式服务器和刀片式服务器。如果把互联网比作一座庞大的城市&…

动手学图神经网络(2):跆拳道俱乐部案例实战

动手学图神经网络(2):跆拳道俱乐部案例实战 在深度学习领域,图神经网络(GNNs)能将传统深度学习概念推广到不规则的图结构数据,使神经网络能够处理对象及其关系。将基于 PyTorch Geometric 库,一步步探索图神经网络的奥秘。 安装必要的包 首先, 安装所需的 Python 包…

【vue3组件】【大文件上传】【断点续传】支持文件分块上传,能够在上传过程中暂停、继续上传的组件

一、概述 本示例实现了一个基于 Vue3 和 TypeScript 的断点上传功能。该功能支持文件分块上传&#xff0c;能够在上传过程中暂停、继续上传&#xff0c;并且支持检测已经上传的分块&#xff0c;避免重复上传&#xff0c;提升上传效率。以下是关键的技术点与实现流程&#xff1…

OpenCV 版本不兼容导致的问题

问题和解决方案 今天运行如下代码&#xff0c;发生了意外的错误&#xff0c;代码如下&#xff0c;其中输入的 frame 来自于 OpenCV 开启数据流的读取 """ cap cv2.VideoCapture(RTSP_URL) print("链接视频流完成") while True:ret, frame cap.rea…

Day25-【13003】短文,什么是算法?如何衡量时间复杂度?什么是最优,平均时间复杂度?

文章目录 第二节概览什么是算法&#xff1f;算法的5个特性&#xff1f; 算法如何评估&#xff1f;时间指标如何衡量&#xff1f;算法的复杂度如何度量&#xff1f;算法开销上限和下限如何表示&#xff1f;什么是常数复杂度&#xff1f;线性操作&#xff1f;对数复杂度-线性对数…

python基础语法(3) -------- 学习笔记分享

目录: 1. 函数 1.1 语法格式 1.2 函数参数 1.3 函数返回值 1.4 变量的作用域 1.5 函数的执行过程 1.6 函数的链式调用 1.7 函数的嵌套调用 1.8 函数递归 1.9 参数默认值 1.10 函数的关键字传参 2. 列表和元组 2.1 列表和元组是啥 2.2 创建列表 2.3 访问下标 2.…

磐维数据库PanWeiDB2.0日常维护

磐维数据库简介 “中国移动磐维数据库”&#xff08;ChinaMobileDB&#xff09;&#xff0c;简称“磐维数据库”&#xff08;PanWeiDB&#xff09;。是中国移动信息技术中心首个基于中国本土开源数据库打造的面向ICT基础设施的自研数据库产品。 其产品内核能力基于华为 OpenG…

Linux:文件与fd(未被打开的文件)

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习《Linux&#xff1a;文件与fd&#xff08;未被打开的文件&#xff09;》&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 如果本篇文章对你有帮助&#xf…

传输层协议TCP与UDP:深入解析与对比

传输层协议TCP与UDP&#xff1a;深入解析与对比 目录 传输层协议TCP与UDP&#xff1a;深入解析与对比引言1. 传输层协议概述2. TCP协议详解2.1 TCP的特点2.2 TCP的三次握手与四次挥手三次握手四次挥手 2.3 TCP的流量控制与拥塞控制2.4 TCP的可靠性机制 3. UDP协议详解3.1 UDP的…

自动驾驶中的多传感器时间同步

目录 前言 1.多传感器时间特点 2.统一时钟源 2.1 时钟源 2.2 PPSGPRMC 2.3 PTP 2.4 全域架构时间同步方案 3.时间戳误差 3.1 硬件同步 3.2 软件同步 3.2.3 其他方式 ① ROS 中的 message_filters 包 ② 双端队列 std::deque 参考&#xff1a; 前言 对多传感器数据…

U-Net - U型网络:用于图像分割的卷积神经网络

U-Net是一种专为图像分割任务设计的卷积神经网络&#xff08;CNN&#xff09;&#xff0c;最初由Olaf Ronneberger等人于2015年提出。它被广泛应用于医学影像分析、遥感图像分割、自动驾驶和其他许多需要对图像进行像素级分类的任务中。U-Net具有强大的特征提取和恢复能力&…

c++小知识点

抽象类包含至少一个纯虚函数&#xff0c;不能实例化对象。派生类必须实现基类的所有纯虚函数才能成为非抽象类&#xff0c;从而可以实例化对象。可以使用抽象类的指针或引用指向派生类对象&#xff0c;实现多态性调用。抽象类虽然不能直接实例化&#xff0c;但可以拥有构造函数…

关于使用PHP时WordPress排错——“这意味着您在wp-config.php文件中指定的用户名和密码信息不正确”的解决办法

本来是看到一位好友的自己建站&#xff0c;所以突发奇想&#xff0c;在本地装个WordPress玩玩吧&#xff0c;就尝试着装了一下&#xff0c;因为之前电脑上就有MySQL&#xff0c;所以在自己使用PHP建立MySQL时报错了。 最开始是我的php启动mysql时有问题&#xff0c;也就是启动过…

写一个存储“网站”的网站前的分析

要创建一个能够存储自己网站内容的“网站”,通常意味着你希望有一个可以存储网站数据、文件、内容等信息的系统。为了实现这一目标,可以考虑构建一个内容管理系统(CMS),这个系统能够帮助你存储和管理网站上的内容。 图片仅供参考 以下是如何实现一个可以存储自己网站内容…

[STM32 标准库]定时器输出PWM配置流程 PWM模式解析

前言&#xff1a; 本文内容基本来自江协&#xff0c;整理起来方便日后开发使用。MCU&#xff1a;STM32F103C8T6。 一、配置流程 1、开启GPIO&#xff0c;TIM的时钟 /*开启时钟*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //开启TIM2的时钟RCC_APB2PeriphClockC…

Vue.js组件开发-实现对视频预览

在 Vue 中实现视频文件预览 实现步骤 创建 Vue 组件&#xff1a;构建一个 Vue 组件用于处理视频文件的选择和预览。文件选择&#xff1a;添加一个文件输入框&#xff0c;允许用户选择视频文件。读取文件&#xff1a;监听文件选择事件&#xff0c;使用 FileReader API 读取所选…

深入探索 Vue 3 Markdown 编辑器:高级功能与实现

目录 1. 为什么选择 Markdown 编辑器&#xff1f;2. 选择合适的 Markdown 编辑器3. 安装与基本配置安装 配置 Markdown 编辑器代码说明 4. 高级功能实现4.1 实时预览与双向绑定4.2 插入图片和图像上传安装图像上传插件配置图像上传插件 4.3 数学公式支持安装 KaTeX配置 KaTeX 插…

【信息系统项目管理师-选择真题】2015下半年综合知识答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…

KIMI K1.5:用大语言模型扩展强化学习(论文翻译)

文章目录 KIMI K1.5技术报告摘要 1. 引言2. 方法&#xff1a;基于大语言模型的强化学习2.1 强化学习提示集整理2.2 长思维链监督微调2.3 强化学习2.3.1 问题设定2.3.2 策略优化2.3.3 长度惩罚2.3.4 采样策略2.3.5 训练方法的更多细节 2.4 长到短&#xff1a;短思维链模型的上下…

python:taichi 高性能可视化 Demo 展览

安装 pip install taichi taichi-1.7.3-cp39-cp39-win_amd64.whl (83.1 MB) 运行 cmd where ti D:\Python39\Scripts\ti.exe #-- taichi 高性能可视化 Demo 展览 ti gallery [Taichi] version 1.7.3, llvm 15.0.1, commit 5ec301be, win, python 3.9.13********************…