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

专题知识点-二叉树-(非常有意义的一篇文章)

这里写目录标题

  • 二叉树的基础知识
    • 知识点一
    • (二叉树性质 )
    • 树与二叉树的相互转换
    • 二叉树的遍历
    • 层次优先遍历
    • 树的深度和广度优先遍历
    • 中序线索二叉树
  • 二叉树相关遍历代码
    • 顺序存储和链式存储
    • 二叉树的遍历
  • 二叉树的相关例题
    • 左右两边表达式求值
    • 求树的深度
    • 找数
    • 找第k个数
  • 二叉树非递归遍历代码
    • 二叉树的层次优先遍历
    • 二叉树非递归前序中序后续遍历

二叉树的基础知识

知识点一

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(二叉树性质 )

在这里插入图片描述
在这里插入图片描述

树与二叉树的相互转换

在这里插入图片描述

二叉树的遍历

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

层次优先遍历

在这里插入图片描述

树的深度和广度优先遍历

在这里插入图片描述
在这里插入图片描述

中序线索二叉树

在这里插入图片描述
在这里插入图片描述

二叉树相关遍历代码

顺序存储和链式存储

typedef struct Branch//顺序存储结构
{int cldx;  Branch* next;   
}Branch;   
typedef struct   
{int data;    Branch* first;    
}Tnode;    
链式存储结构    二叉树的链式存储结构    
typedef struct BTnode    
{char data;    struct BTnode* lchild;    struct BTnode* rchild;    
}BTnode;    

二叉树的遍历

void xianxubianli(BTnode* p)
{if (p != NULL){visit(p);xianxubianli(p->lchild);xianxubianli(p->lchild);}
}递归进行中序遍历
void zhongxubainli(BTnode* p)
{if (p != NULL){zhongxubainli(p->lchild);visit(p);zhongxubianli(p->rchild);}
}BTnode*p  后序遍历进行递归操作  
void houxubianli(BTnode* bt)  
{if (p != NULL)  {houxubianli(p->lchild);  houxubianli(p->rchild);  visit(p);  }
}

二叉树的相关例题

左右两边表达式求值

在这里插入图片描述

int comp(BTnode* p)
{int A, B;if (p != NULL){if (p->lchikd != NULL && p->rchild != NULL){A = comp(p->lchild);//这个是不断的求左边的树,一直到不行的时候,然后返回,//到上一个根的右边的树,然后看看求右边的树的值,并且也是递归,求右边树的数据的问题,//然后分别不断的求出左右两边的值,然后一起进行ji算B = comp(p->rchild);return op(A, B, p->data);//这个是求的是树左右两边的数据的求值}elsereturn p->data - '0'<

相关文章:

专题知识点-二叉树-(非常有意义的一篇文章)

这里写目录标题 二叉树的基础知识知识点一(二叉树性质 )树与二叉树的相互转换二叉树的遍历层次优先遍历树的深度和广度优先遍历中序线索二叉树二叉树相关遍历代码顺序存储和链式存储二叉树的遍历二叉树的相关例题左右两边表达式求值求树的深度找数找第k个数二叉树非递归遍历代码…...

多路数据写入DDR3/DDR4的两种方法

1.官方IP实现&#xff1b; 2.手写Axi 仲裁器。...

3 分钟看完 NVIDIA GPU 架构及演进

近期随着 AI 市场的爆发式增长&#xff0c;作为 AI 背后技术的核心之一 GPU&#xff08;图形处理器&#xff09;的价格也水涨船高。GPU 在人工智能中发挥着巨大的重要&#xff0c;特别是在计算和数据处理方面。目前生产 GPU 主流厂商其实并不多&#xff0c;主要就是 NVIDIA、AM…...

SMART PLC 和S7-1200PLC MODBUSTCP通信速度测试

SMART PLC MODBUSTCP通信详细介绍请参看下面文章链接: S7-200SMART PLC ModbusTCP通信(多服务器多从站轮询)_matlab sumilink 多个modbustcp读写_RXXW_Dor的博客-CSDN博客文章浏览阅读6.4k次,点赞5次,收藏10次。MBUS_CLIENT作为MODBUS TCP客户端通过S7-200 SMART CPU上的…...

C++文件操作知识点总结

文件流操作文本文件 文件流 在 C 中&#xff0c;对文件的操作是通过 stream 的子类 fstream&#xff08; file stream &#xff09;来实现的&#xff0c;所以&#xff0c;要用这种方式操作文件&#xff0c;就必须加入头文件<fstream>&#xff0c;代码如下&#xff1a; …...

开发vue3 UI组件库,并且发布到NPM

目录 1.创建vue3工程 2.创建package文件 3.编写组件&#xff0c;并且导出 4.编写package.json 5.npm账号注册登录并发布 6.从npm安装使用 7.注意事项 1.创建vue3工程 &#xff08;1&#xff09;初始化Vue项目 cnpm create vite &#xff08;2&#xff09;进入文件夹…...

雷达测角原理、测角精度、测角分辨率以及3DFFT角度估计算法汇总

1.角度测量方法 依据&#xff1a;电磁波的直线传播和雷达天线的方向性。 分类&#xff1a;振幅法测角、相位法测角 1.1 相位法测角 相位法测角利用多个天线所接收回波信号之间的相位差进行测角。如下图所示&#xff1b; 图 1 设在θ方向有一远区目标&#xff0c;则到达接收点…...

金财数科无代码开发平台:轻松实现电商、CRM、广告推广系统的集成连接

连接与集成&#xff1a;挖掘电商平台的潜力 金财数科是一家领先的信息技术公司&#xff0c;专注于利用前沿技术如互联网、人工智能、大数据和区块链等&#xff0c;为传统财税信息化方案和产品提供升级改造&#xff0c;并打造新一代智能财税SaaS平台。我们的目标是帮助企业通过…...

JavaWeb篇_09——Tomcat运行过程以及Servlet继承结构

Tomcat运行过程 用户访问localhost:8888/test/helloword.do&#xff0c;请求被发送到Tomcat&#xff0c;被监听8888端口并处理 HTTP/1.1 协议的Connector获得。Connector把该请求交给它所在的Service的Engine来处理&#xff0c;并等待Engine的回应。Engine获得请求localhost/t…...

Python中的异常与错误处理

一、基础知识 1、一个try语句支持多个except子句&#xff0c;但请记得将更精确的异常类型放在前面。 2、try语句的else分支会在没有异常时执行&#xff0c;因此它可以用来替代标记变量&#xff08;flag变量&#xff09;。 3、不带任何参数的raise语句会直接重复抛出当前异常。…...

sqli-labs关卡16(基于post提交的双引号加括号闭合的布尔盲注)通关思路

文章目录 前言一、回顾上一关知识点二、靶场第十六关通关思路1、判断注入点2、猜数据库长度3、猜数据库名字4、猜表名长度5、猜表名名字6、猜列名长度7、猜列名名字8、猜数据长度9、猜数据名字 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击…...

2.5k的ChatGPT-Java版SDK升级1.1.2-beta0支持GPT-4V、Dall-e-3模型、ToolCalls、微调Job、TTS...

1、项目简介 Chatgpt-Java是OpenAI官方Api的Java SDK&#xff0c;可以快速接入项目使用。支持OpenAI官方全部接口。 目前收获将2500star&#x1f31f;。 开源地址&#xff1a;https://github.com/Grt1228/chatgpt-java官方文档&#xff1a;https://chatgpt-java.unfbx.com/最…...

k8s二进制(ETCD的部署安装)

角色ip组件k8s-master192.168.11.169kube-apiserver,kube-controller-manager,kube-scheduler,etcdk8s-node1192.168.11.164kubelet,kube-proxy,docker,etcdk8s-node2192.168.11.166kubelet,kube-proxy,docker,etcd 1、为etcd签发证书 1、证书的下载(任意机器上执行都可以) …...

【rl-agents代码学习】02——DQN算法

文章目录 Highway-env Intersectionrl-agents之DQN*Implemented variants*:*References*:Query agent for actions sequence探索策略神经网络实现小结1 Record the experienceReplaybuffercompute_bellman_residualstep_optimizerupdate_target_network小结2 exploration_polic…...

关于使用 Java 反射技术来实现解耦?

关于使用 Java 反射技术来实现解耦&#xff1f; 文章目录 关于使用 Java 反射技术来实现解耦&#xff1f;一、基本说明二、代码示例三、注意 一、基本说明 Java 反射技术允许程序在运行时加载、探索和使用类和对象。通过反射&#xff0c;我们可以在程序运行期间动态地创建对象…...

使用清华智谱ChatGLM2大模型搭建本地私有知识库

首先放上该方案项目的git地址&#xff1a;https://github.com/chatchat-space/Langchain-Chatchat 以下是我的搭建和踩坑经验记录 一、环境准备 1、python安装 在环境中安装python&#xff0c;我安装的是3.9版本的python&#xff0c;官方要求的是Python 3.8 - 3.10 版本。不知…...

MES系统如何赋能制造企业实现4M防错追溯?

生产过程4M管理和MES系统的结合是现代制造业中关键的质量管理实践&#xff0c;它有助于提高生产效率、降低生产成本并保证产品质量。本文将深入探讨4M管理的概念&#xff0c;以及MES系统如何赋能制造企业实现4M防错追溯。 一、4M管理的概念 4M管理是指在制造过程中管理和控制四…...

Mybatis保存时参数携带了逗号和空格导致SQL保存异常

起初发现这个问题是因为导入文件时&#xff0c;用户输入的导入参数不规范&#xff0c;在字段中有逗号和空格一起出现&#xff0c;就会导致mybatis保存时发生sql异常。 异常数据张这样&#xff1a; INSERT INTO enterprise_stratification (id,create_date,create_by,update_da…...

vscode launch.json

有时新的服务器进行调试时&#xff0c;需要设置调试的launch.json的结果 然后就可以打开一个launch.json 其内容如下 {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid83…...

绿盟远程安全评估系统 RSAS 使用体验-难用

最近领导让我用公司采购的RSAS对产品进行漏洞扫描&#xff0c;学习并使用了这个软件&#xff0c;体验就是真的很难用。使用遇到问题时&#xff0c;咨询售后服务&#xff0c;机器人需要有公司认证&#xff0c;不能随便问问题&#xff0c;也是无语了。咨询客服&#xff0c;客服回…...

别再让模型在Unity里‘抽风’了!Blender导出FBX到Unity的7步避坑自查清单

别再让模型在Unity里‘抽风’了&#xff01;Blender导出FBX到Unity的7步避坑自查清单当你花了三天三夜精心雕琢的Blender模型&#xff0c;导入Unity后却变成了一团旋转错乱、贴图闪烁的"抽象艺术"&#xff0c;那种崩溃感每个3D开发者都懂。本文将用实战经验帮你建立一…...

小米MIMO最新邀请码

欢迎使用&#xff0c;各得10元体验金...

Keil µVision链接器错误204解决方案

1. 问题现象与背景解析最近在使用Keil Vision进行嵌入式开发时&#xff0c;不少工程师遇到了一个令人头疼的链接器错误。具体表现为编译时出现"FATAL ERROR 204: INVALID KEYWORD"的致命错误&#xff0c;错误位置指向链接器控制文件中的特定行。这个问题在C166和C51两…...

Unity事件系统实战:用事件驱动重构你的金币拾取逻辑(告别硬编码)

Unity事件系统实战&#xff1a;用事件驱动重构你的金币拾取逻辑&#xff08;告别硬编码&#xff09;在游戏开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;玩家拾取金币后&#xff0c;需要更新UI、播放音效、解锁成就、保存数据……如果把这些逻辑全部写在金币拾取的代…...

网飞成立 AI 动画工作室,开启流媒体“原生 AI 制片时代”,中外布局逻辑有何不同?

1. Netflix“偷跑”在影视巨头关于 AIGC 的军备竞赛中&#xff0c;Netflix 再次加速。据外媒 TheVerge 报道&#xff0c;网飞于今年 3 月成立了名为 "INKubator" 的工作室&#xff0c;这是全球流媒体巨头中首个以生成式人工智能为核心的动画制作部门。此动作引发全球…...

LPCM框架:大模型驱动的计算机架构设计革命

1. LPCM框架&#xff1a;计算机系统架构设计的范式革命计算机系统架构设计正站在历史性的转折点上。过去八十年来&#xff0c;从ENIAC的真空管到现代7纳米制程的异构计算芯片&#xff0c;架构设计始终遵循着"专家经验EDA工具"的传统范式。但随着摩尔定律逼近物理极限…...

基于PIC32单片机实现Android USB音频转SPDIF输出的DIY方案

1. 项目概述&#xff1a;为Android设备打造一个高保真SPDIF音频接口作为一名长期折腾嵌入式音频和家庭影院的玩家&#xff0c;我经常遇到一个痛点&#xff1a;手头那些性能不错的Android手机或平板&#xff0c;其内置的3.5mm耳机孔或者USB-C口的音频输出质量&#xff0c;在连接…...

终极音乐解锁指南:3步让加密音乐在任何设备自由播放

终极音乐解锁指南&#xff1a;3步让加密音乐在任何设备自由播放 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: https:/…...

Unity中文语言包安装失败?手动部署全流程详解

1. 为什么Unity编辑器中文语言包总在安装时“卡住”或报错&#xff1f; Unity编辑器自带多语言支持&#xff0c;但中文语言包的安装过程却常年被开发者吐槽——点开Preferences → Localization → Install Language Pack&#xff0c;选中Chinese (Simplified)&#xff0c;点击…...

如何用500KB工具完全替代AWCC:AlienFX Tools终极指南

如何用500KB工具完全替代AWCC&#xff1a;AlienFX Tools终极指南 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 你是否厌倦了Alienware Command Cente…...