求二叉树中指定节点所在的层数(可运行)
运行环境.cpp
我这里设置的是查字符e的层数,大家可以在main函数里改成自己想查的字符。(输入的字符一定是自己树里有的)。
如果没有输出结果,一定是建树错误!!!!!!!
输入:abd###ce###
输出:3
树形:

#include "bits/stdc++.h"
using namespace std;
typedef struct BiTNode{char data;struct BiTNode *lchild,*rchild;int tag;
}BiTNode,*BiTree;void createTree(BiTree &t){char ch;ch=getchar();if (ch=='#') t=NULL;else{t=(BiTNode *) malloc(sizeof (BiTNode));t->data=ch;t->tag=0;t->lchild=NULL;t->rchild=NULL;createTree(t->lchild);createTree(t->rchild);}
}
int btDepth(BiTree t,char x){if (!t)return 0;int front=-1,rear=-1;int last=0,level=0;int m=0;//BiTree Q[100];Q[++rear]=t;BiTree p;while (front<rear){p=Q[++front];if (p->lchild)Q[++rear]=p->lchild;if (p->rchild)Q[++rear]=p->rchild;if (front==last){level++;last=rear;if (p->data==x)return level;}if (p->data==x)return level+1;}
}
int main() {BiTree t;createTree(t);printf("%d", btDepth(t,'e'));}
相关文章:
求二叉树中指定节点所在的层数(可运行)
运行环境.cpp 我这里设置的是查字符e的层数,大家可以在main函数里改成自己想查的字符。(输入的字符一定是自己树里有的)。 如果没有输出结果,一定是建树错误!!!!!&…...
Ubuntu18 Opencv3.4.12 viz 3D显示安装、编译、移植
Opencv3.*主模块默认包括两个3D库 calib3d用于相机校准和三维重建 ,viz用于三维图像显示,其中viz是cmake选配。 参考: https://docs.opencv.org/3.4.12/index.html 下载linux版本的源码 sources。 查看cmake apt list --installed | grep…...
EPSon打印机更换色带
1、打印机色带拆装视频 打印机色带更换 2、色带盒四周有多个卡扣,需从右到左依次轻微用力掰开,使盖板与盒体脱离,注意不要掰断卡扣。 3、如何将色带放入打印机色带盒? A、色带放入盒体时不可打乱打结,以免卡带&#x…...
电脑游戏录屏软件,记录游戏高光时刻
电脑游戏录制是游戏爱好者分享游戏乐趣、技巧和成就的绝佳方式,此时,一款好用的录屏软件就显得尤为重要。本文将为大家介绍三款电脑游戏录屏软件,通过对这三款软件的分步骤详细介绍,让大家更加了解它们的特点及使用方法。 电脑游戏…...
Hadoop性能调优建议
一、服务器配置 1. BIOS配置: 关闭smmu/关闭cpu预取/performance策略 2. 硬盘优化 raid0 打卡cache /jbod scheduler/sector_size/read_ahead_kb 3. 网卡优化 rx_buff/ring_buffer/lro/中断绑核/驱动升级 4. 内存插法:要用均衡插法…...
算法的奥秘:常见的六种算法(算法导论笔记2)
算法的奥秘:种类、特性及应用详解(算法导论笔记1) 上期总结算法的种类和大致介绍,这一期主要讲常见的六种算法详解以及演示。 排序算法: 排序算法是一类用于对一组数据元素进行排序的算法。根据不同的排序方式和时间复…...
Python算法——树的路径和算法
Python算法——树的路径和算法 树的路径和算法是一种在树结构中寻找从根节点到叶节点的所有路径,其路径上的节点值之和等于给定目标值的算法。这种算法可以用Python语言实现,本文将介绍如何使用Python编写树的路径和算法,并给出一些示例代码…...
数据结构之链表练习与习题详细解析
个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.前言 2.习题解…...
QT中使用unity
qt把unity发入widget中 头文件showunitywindowsinqt #ifndef SHOWUNITYWINDOWSINQT_H #define SHOWUNITYWINDOWSINQT_H #include <QObject> #include <QProcess> #include <windows.h> #include <winuser.h> #include <QDebug> class ShowUnity…...
QTableView/QTableWidget设置单元格字体颜色及背景色
1.QTableView设置单元格字体颜色及背景色 QStandardItem * pItem new QStandardItem("AAA"); pItem->setBackground(QBrush(Qt::blue)); // 设置背景色 pItem->setForeground(QBrush(Qt::red)); // 设置字体颜色 2.QTableWidget设置单元格字…...
电脑上可以写便签的软件哪些界面比较可爱且好用?
电脑上可以安装使用的便签类软件比较多,在选择使用电脑便签软件时,很多人对便签的外观界面还是比较在意的,一个好看的便签界面在一方面可以引起大家的注意,另一方面可以增加电脑桌面背景和便签类软件的协调性。 电脑便签软件通常…...
2021秋招-总目录
2021秋招-目录 知识点总结 预训练语言模型: Bert家族 1.1 BERT、attention、transformer理解部分 B站讲解–强烈推荐可视化推倒结合代码理解代码部分常见面试考点以及问题: word2vec 、 fasttext 、elmo;BN 、LN、CN、WNNLP中的loss与评价总结 4.1 loss_function࿱…...
HTML5生成二维码
H5生成二维码 前言二维码实现过程页面实现关键点全部源码 前言 本文主要讲解如何通过原生HTML、CSS、Js中的qrcodejs二维码生成库,实现一个输入URL按下回车后输出URL。文章底部有全部源码,需要可以自取。 实现效果图: 上述实现效果为&#…...
大数据-之LibrA数据库系统告警处理(ALM-25005 Nscd服务异常)
告警解释 系统每60秒周期性检测nscd服务的状态,如果连续4次(3分钟)查询不到nscd进程或者无法获取ldapserver中的用户时,产生该告警。 当进程恢复且可以获取ldapserver中的用户时,告警恢复。 告警属性 告警ID 告警级…...
NLP:使用 SciKit Learn 的文本矢量化方法
一、说明 本文是使用所有 SciKit Learns 预处理方法生成文本数字表示的深入解释和教程。对于以下每个矢量化器,将给出一个简短的定义和实际示例:one-hot、count、dict、TfIdf 和哈希矢量化器。 SciKit Learn 是一个用于机器学习项目的广泛库,…...
这些仪表板常用的数据分析模型,你都见过吗?
本文由葡萄城技术团队发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 ##前言 在数字化时代,数据已经成为了企业决策和管理的重要依据。而仪表板作为一种数据可视化工具&#x…...
【Proteus仿真】【Arduino单片机】多功能数字时钟设计
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、DS1302温度传感器、DS1302时钟、按键、蜂鸣器等。 主要功能: 系统运行后,LCD1602显示当前日期…...
c语言回文数
以下是用C语言编写的回文数代码: #include <stdio.h>int main() { int num, reversedNum 0, remainder, originalNum; printf("请输入一个正整数:"); scanf("%d", &num); originalNum num; while (num …...
【学习记录】从0开始的Linux学习之旅——编译linux内核
一、学习背景 从接触嵌入式至今,除了安装过双系统接触了一丢丢linux外,linux在我眼中向来是个传说。而如今得到了一块树莓派,于是决心把linux搞起来。 二、概念学习 Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应…...
uni-app - 日期 · 时间选择器
目录 1.基本介绍 2.案例介绍 ①注意事项: ②效果展示 3.代码展示 ①view部分 ②js部分 ③css样式 1.基本介绍 从底部弹起的滚动选择器。支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器&a…...
3步解决VMware虚拟化难题:从零激活到专业环境搭建全攻略
3步解决VMware虚拟化难题:从零激活到专业环境搭建全攻略 【免费下载链接】VMware-Workstation-Pro-17-Licence-Keys Free VMware Workstation Pro 17 full license keys. Weve meticulously organized thousands of keys, catering to all major versions of VMware…...
gh_mirrors/in/invoice深度学习模型解析:YOLO检测与CRNN识别的协同工作
gh_mirrors/in/invoice深度学习模型解析:YOLO检测与CRNN识别的协同工作 【免费下载链接】invoice Collaboration with wangxupeng(https://github.com/wangxupeng) 项目地址: https://gitcode.com/gh_mirrors/in/invoice gh_mirrors/in/invoice是一个基于深度…...
互联网大厂 Java 求职面试:在音视频场景中如何使用 Spring Cloud 和 Kafka
互联网大厂 Java 求职面试:在音视频场景中如何使用 Spring Cloud 和 Kafka今天,我们将进入一个有趣的面试场景,面试官是个严肃的技术大牛,而候选人则是搞笑的程序员燕双非。使用音视频场景进行面试问题的探讨。第一轮提问面试官&a…...
AUTOSAR BSW里的“共享文件夹”:ECUC模块如何管理PDU路由与多核分区?
AUTOSAR BSW中的ECUC模块:多核与PDU路由的"中央调度站" 想象一下,在一个大型跨国企业的IT部门中,不同团队需要频繁交换文件,但又不希望直接访问彼此的服务器。这时候,一个设计精良的共享文件夹系统就成了必需…...
Oracle 12.2 ORA-600 数据库发生重启案例
适用范围 Oracle Database 12.2 问题概述 Oracle 12.2 RAC一个节点发生重启,重启前有ORA-00600: internal error code, arguments: [kcbk_populate_history_1]报错。 问题原因 Oracle 12.2.0.1.180417 下Bug 31600023 - ORA-700 [kcbk_populate_history_1], ORA-600…...
illustrator中的Blend混合工具
混合工具 (Blend Tool) 是 Illustrator 中核心矢量变形工具,可在两个或多个对象间创建形状、颜色、大小等属性的平滑过渡,生成可编辑的矢量对象序列,而非单一渐变填充。工具栏图标为圆形渐变成方形,默认位于左侧工具栏,…...
[特殊字符] 数组中的多数元素 II:Boyer-Moore投票算法详解
问题描述 给定一个包含 n 个整数的数组 arr[],找出所有出现次数超过 floor(n/3) 次的数组元素。 注意:返回的多数元素数组应该是排序的。 示例: 输入:arr[] [2, 2, 3, 1, 3, 2, 1, 1] 输出:[1, 2] 解释:…...
OpenClaw实战案例库:AI智能体应用模式与工程实践指南
1. 项目概述:一个为OpenClaw而生的真实案例宝库如果你正在探索OpenClaw,或者已经用它搭建了一些自动化流程,但总觉得“别人到底是怎么玩的?”、“有没有更高级的用法可以参考?”,那么你找对地方了。awesome…...
量子计算与高性能计算融合架构解析
1. 量子计算与高性能计算融合的架构演进量子计算与高性能计算(HPC)的融合正在重塑计算科学的边界。作为一名长期跟踪量子计算发展的技术从业者,我见证了从早期量子算法理论到如今实用化量子-HPC混合架构的完整演进过程。这种融合不是简单的硬…...
深入紫光FPGA视频流:手把手解析纯Verilog实现的DDR3图像缓存架构与HDMI输出时序
紫光FPGA视频流处理:纯Verilog实现DDR3缓存与HDMI输出的核心架构解析 在FPGA视频处理系统中,图像缓存与输出时序控制往往是决定系统性能的关键环节。本文将聚焦紫光同创PGL100G系列FPGA,深入剖析两个核心技术模块:基于纯Verilog实…...
