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

6-1 二叉排序树查找操作

description

本题要求实现二叉排序树的查找操作。

函数接口定义:

BSTree SearchBST(BSTree T,ElemType e);
其中BSTree结构定义如下:

typedef int ElemType;
typedef struct BSTNode
{
ElemType data;
struct BSTNode *lchild,*rchild;
}BSTNode,*BSTree;
裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct BSTNode
{
ElemType data;
struct BSTNode *lchild,*rchild;
}BSTNode,BSTree;
BSTree CreateBST();/
二叉排序树创建,由裁判实现,细节不表 /
BSTree SearchBST(BSTree T,ElemType e);
void Inorder(BSTree T);/
中序遍历,由裁判实现,细节不表 */

int main()
{
BSTree T,result;
ElemType n,e;
T = CreateBST();
printf(“Inorder:”); Inorder(T); printf(“\n”);
scanf(“%d”,&n);
for(int i=0;i<n;i++)
{
scanf(“%d”,&e);
result = SearchBST(T,e);
if(result) printf(“%d is found\n”,result->data);
else printf(“%d is not found\n”,e);
}
return 0;
}
/* 你的代码将被嵌在这里 */

输入样例:

输入第一行以-1结束的整数,为二叉排序树中元素初始序列,第二行为一个整数n,代表要查询的元素个数,第三行为n个整数,代表要查询的元素值。
例如创建如下二叉排序树,输入为:

二叉排序树.png

4 3 5 1 2 7 6 8 -1
4
1 8 0 9

输出样例:

Inorder: 1 2 3 4 5 6 7 8
1 is found
8 is found
0 is not found
9 is not found

solution

BSTree SearchBST(BSTree T,ElemType e){if(!T || e == T->data) return T;else if(e < T-> data)SearchBST(T->lchild, e);else SearchBST(T->rchild, e);
} 

相关文章:

6-1 二叉排序树查找操作

description 本题要求实现二叉排序树的查找操作。 函数接口定义&#xff1a; BSTree SearchBST(BSTree T,ElemType e); 其中BSTree结构定义如下&#xff1a; typedef int ElemType; typedef struct BSTNode { ElemType data; struct BSTNode *lchild,*rchild; }BSTNode,*BS…...

服务上千家企业,矩阵通2.0重磅上线,全链路管理新媒体矩阵

自上线以来 矩阵通已服务了上千家企业级客户 覆盖汽车、家居、媒体、金融、教育等多个行业 矩阵通1.0时代 我们以“数据”为基座打造出10功能 帮助企业轻松管理新媒体矩阵 实现账号管理、数据分析、竞对监测、 人员考核、风险监管等需求 而现在 矩阵通2.0重磅上线 新增…...

【代码随想录】算法训练计划11

1、20. 有效的括号 题目&#xff1a; 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。 左括号…...

Jmeter之JSR223

一、JSR223组件 JSR是Java Specification Requests的缩写,意思是Java规范提案。JSR已成为Java界的一个重要标准. JSR223其实包含了有好几种组件,但是其用法都是一致的,并且都是执行一段代码&#xff0c;主要分类如下&#xff1a; JSR223 PreProcessor JSR223 Timer JSR223 S…...

c++23中的新功能之十八新增的属性

一、c23新的属性 在前面的分析中说过&#xff0c;各种语言的发展整体思路是一致的&#xff0c;即朝着更加实用、简单和更接近自然语言的方向在前进。c23中也在不断的完善和增加相关开发的一些属性和预编译处理指令&#xff0c;这样就可以让开发者在开发的过程中对程序进行控制…...

动手学深度学习:1.线性回归从0开始实现

动手学深度学习&#xff1a;1.线性回归从0开始实现 1.手动构造数据集2.小批量读取数据集3.初始化模型参数4.定义模型和损失函数5.小批量随机梯度下降更新6.训练完整代码 1.手动构造数据集 根据带有噪声的线性模型构造一个人造数据集&#xff0c;任务是使用这个有限样本的数据集…...

【计算机网络】应用层

应用层协议原理 客户-服务器体系结构&#xff1a; 特点&#xff1a;客户之间不能直接通信&#xff1b;服务器具有周知的&#xff0c;固定的地址&#xff0c;该地址称为IP地址。 配备大量主机的数据中心常被用于创建强大的虚拟服务器&#xff1b;P2P体系结构&#xff1a; 特点&…...

python 深度学习 解决遇到的报错问题9

本篇继python 深度学习 解决遇到的报错问题8-CSDN博客 目录 一、can only concatenate str (not "int") to str 二、cant convert np.ndarray of type numpy.object_. The only supported types are: float64, float32, float16, complex64, complex128, int64, in…...

能源管理系统为什么选择零代码开发平台?

市面上有很多能源管理系统&#xff0c;但是零代码开发能源管理系统却非常少。那为什么推荐选择零代码开发平台呢&#xff1f;因为很多企业缺少技术人员&#xff0c;但是却仍然需要数字化工具和流程推进业务和项目&#xff0c;解决能源管理技术人员不懂代码的矛盾问题&#xff0…...

【LeetCode】剑指 Offer Ⅱ 第8章:树(12道题) -- Java Version

题库链接&#xff1a;https://leetcode.cn/problem-list/e8X3pBZi/ 类型题目解决方案二叉树的深搜剑指 Offer II 047. 二叉树剪枝递归&#xff08;深搜&#xff09;&#xff1a;二叉树的后序遍历 &#xff08;⭐&#xff09;剑指 Offer II 048. 序列化和反序列化二叉树递归&…...

利用maven的dependency插件将项目依赖从maven仓库中拷贝到一个指定的位置

https://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html 利用dependency:copy-dependencies可以将项目的依赖从maven仓库中拷贝到一个指定的位置。 使用默认配置拷贝依赖 如果直接执行mvn dependency:copy-dependencies&#xff0c;是将项目…...

在Flask中实现文件上传七牛云中并下载

在Flask中实现文件上传和七牛云集成 文件上传是Web应用中常见的功能之一&#xff0c;而七牛云则提供了强大的云存储服务&#xff0c;使得文件存储和管理变得更加便捷。在本篇博客中&#xff0c;我们将学习如何在Flask应用中实现文件上传&#xff0c;并将上传的文件保存到七牛云…...

【Linux】centOS7安装配置及Linux的常用命令---超详细

一&#xff0c;centOS 1.1 centOS的概念 CentOS&#xff08;Community Enterprise Operating System&#xff09;是一个由社区支持的企业级操作系统&#xff0c;它是以Red Hat Enterprise Linux&#xff08;RHEL&#xff09;源代码为基础构建的。CentOS提供了一个稳定、可靠且…...

【ES专题】ElasticSearch搜索进阶

目录 前言阅读导航前置知识特别提醒笔记正文一、分词器详解1.1 基本概念1.2 分词发生的时期1.3 分词器的组成1.3.1 切词器&#xff1a;Tokenizer1.3.2 词项过滤器&#xff1a;Token Filter1.3.3 字符过滤器&#xff1a;Character Filter 1.4 倒排索引的数据结构 <font color…...

【iOS免越狱】利用IOS自动化WebDriverAgent实现自动直播间自动输入

1.目标 由于看直播的时候主播叫我发 666&#xff0c;支持他&#xff0c;我肯定支持他呀&#xff0c;就一直发&#xff0c;可是后来发现太浪费时间了&#xff0c;能不能做一个直播间自动发 666 呢&#xff1f;于是就开始下面的操作。 2.操作环境 iPhone一台 WebDriverAgent …...

Python基础入门例程28-NP28 密码游戏(列表)

最近的博文&#xff1a; Python基础入门例程27-NP27 朋友们的喜好&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程26-NP26 牛牛的反转列表&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程25-NP25 有序的列表&#xff08;列表&#xff09;-CSDN博客 目录…...

乌班图 Linux 系统 Ubuntu 23.10.1 发布更新镜像

Ubuntu 团队在其官网上发布了Ubuntu 23.10.1 版本,这是目前较新的 Ubuntu 23.10(Focal Fossa)操作系统系列的第一个发行版,旨在为社区提供最新的安装媒体。Ubuntu 22.04 LTS(Focal Fossa)操作系统系列于 2022 年 4 月 21 日发布。 Ubuntu 23.10 LTS(长期支持版本)可用…...

Java金字塔、空心金字塔、空心菱形

Java金字塔 public class TestDemo01 {public static void main(String[] args){//第一个for用于每行输出 从i1开始到i<5,总共5行for(int i1;i<5;i){//每行前缀空格&#xff0c;这个for用于表示每行输出*前面的空格//从上面规律可得,每行输出的空格数为总层数&#xff0c…...

前端 | (十四)canvas基本用法 | 尚硅谷前端HTML5教程(html5入门经典)

文章目录 &#x1f4da;canvas基本用法&#x1f407;什么是canvas(画布)&#x1f407;替换内容&#x1f407;canvas标签的两个属性&#x1f407;渲染上下文 &#x1f4da;绘制矩形&#x1f407;绘制矩形&#x1f407;strokeRect时&#xff0c;边框像素渲染问题&#x1f407;添加…...

206.反转链表

206.反转链表 力扣题目链接(opens new window) 题意&#xff1a;反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 双双指针法&#xff1a; 创建三个节点 pre(反转时的第一个节点)、cur(当前指向需要反转的节点…...

力扣17,电话号码的字母组合

class Solution { public: //设置一个map&#xff0c;用来数字与字母比对unordered_map<char, string> _mp{{2,"abc"},{3,"def"},{4,"ghi"},{5,"jkl"},{6,"mno"},{7,"pqrs"},{8,"tuv"},{9,"…...

5分钟快速上手NewGAN-Manager:为足球经理打造个性化脸型包

5分钟快速上手NewGAN-Manager&#xff1a;为足球经理打造个性化脸型包 【免费下载链接】NewGAN-Manager A tool to generate and manage xml configs for the Newgen Facepack. 项目地址: https://gitcode.com/gh_mirrors/ne/NewGAN-Manager NewGAN-Manager 是一款专门为…...

全志V853开发板适配7寸RGB屏:Linux DRM驱动与设备树配置实战

1. 项目概述与核心价值最近在折腾百问网的100ASK_V853-PRO开发板&#xff0c;这块板子用的是全志V853这颗高性能的AIoT芯片&#xff0c;本身接口资源挺丰富的。但官方默认的配套屏幕是5寸或者更小的MIPI屏&#xff0c;对于很多需要大屏交互的应用场景&#xff0c;比如智能中控、…...

TC2526 低功耗原边反馈开关电源芯片

概述 TC2526 是一款低功耗原边反馈&#xff08;PSR&#xff09;开关电源芯片&#xff0c;其内部集成了大功率 BJT 管&#xff0c;适用于隔离型的高效低功耗便携式设备充电器应用。TC2526 采用独特具有恒流恒压功能的原边反馈控制技术&#xff0c;以及独特的轻载调频技术降低轻载…...

用Obsidian+Templater插件打造你的专属日记系统:从脚本编写到自动归档

用ObsidianTemplater打造全自动日记管理系统&#xff1a;从脚本开发到智能归档 在数字时代&#xff0c;个人知识管理已成为现代人的必修课。当大多数日记应用将你的私人记忆锁在云端服务器时&#xff0c;一种更自主、更灵活的选择正在技术爱好者中流行——用Obsidian配合Templa…...

别再手动复制粘贴了!C++20 assign函数让你的容器操作效率翻倍(附vector/deque实战代码)

C20 assign函数&#xff1a;告别低效循环&#xff0c;解锁现代容器操作新范式 在C日常开发中&#xff0c;容器操作占据了大量编码时间。你是否还在为以下场景烦恼&#xff1a;需要将一个vector的部分元素复制到另一个容器时&#xff0c;不得不写冗长的循环&#xff1b;当要重置…...

抖音批量下载神器:一键保存多个创作者的所有视频作品

抖音批量下载神器&#xff1a;一键保存多个创作者的所有视频作品 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 在当前短视频内容爆炸的时代&#xff0c;抖音汇聚了无数创意视频和优质内容。无论是学习舞蹈…...

国产多模态大模型:产业协同全景与实战指南

国产多模态大模型&#xff1a;产业协同全景与实战指南 引言 在人工智能浪潮席卷全球的背景下&#xff0c;国产多模态大模型正从技术探索迈向广泛的产业协同应用。与只能处理文本或图像的单一模态模型相比&#xff0c;多模态大模型能同时理解、关联和生成文本、图像、音频、视频…...

CLI工具集claw:模块化设计与插件化架构深度解析

1. 项目概述&#xff1a;一个面向开发者的现代化CLI工具集最近在GitHub上看到一个名为opsyhq/claw的项目&#xff0c;第一眼就被它简洁的名字吸引了。claw&#xff0c;中文意思是“爪子”&#xff0c;听起来就很有力量感和抓取感。点进去一看&#xff0c;果然&#xff0c;这是一…...

Discourse Docker持续集成:自动化构建与部署完整指南 [特殊字符]

Discourse Docker持续集成&#xff1a;自动化构建与部署完整指南 &#x1f680; 【免费下载链接】discourse_docker A Docker image for Discourse 项目地址: https://gitcode.com/gh_mirrors/dis/discourse_docker Discourse Docker持续集成是现代论坛部署的最佳实践&a…...