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

《数据结构初阶》【二叉树 精选9道OJ练习】

【二叉树 精选9道OJ练习】目录

  • 前言:
  • 二叉树的OJ练习
    • [144. 二叉树的前序遍历](https://leetcode.cn/problems/binary-tree-preorder-traversal/)
    • 题目介绍
    • 方法一:
    • [104. 二叉树的最大深度](https://leetcode.cn/problems/maximum-depth-of-binary-tree/)
    • 题目介绍
    • 方法一:
    • [965. 单值二叉树](https://leetcode.cn/problems/univalued-binary-tree/)
    • 题目介绍
    • 方法一:
    • [100. 相同的树](https://leetcode.cn/problems/same-tree/)
    • 题目介绍
    • 方法一:
    • [101. 对称二叉树](https://leetcode.cn/problems/symmetric-tree/)
    • 题目介绍
    • 方法一:
    • [572. 另一棵树的子树](https://leetcode.cn/problems/subtree-of-another-tree/)
    • 题目介绍
    • 方法一:
    • KY11 二叉树遍历
    • 题目介绍
    • 方法一:
    • [226. 翻转二叉树](https://leetcode.cn/problems/invert-binary-tree/)
    • 题目介绍
    • 方法一:
    • [110. 平衡二叉树](https://leetcode.cn/problems/balanced-binary-tree/)
    • 题目介绍
    • 方法一:

在这里插入图片描述

往期《数据结构初阶》回顾:
【时间复杂度 + 空间复杂度】
【顺序表 + 单链表 + 双向链表】
【顺序表/链表 精选15道OJ练习】
【顺序栈 + 链式队列 + 循环队列】
【链式二叉树】
【堆 + 堆排序 + TOP-K】

前言:

🌳【二叉树终章试炼】⚔️
二叉树初阶的学习到这里就已经算是结束了,马上就要到了大家期待的排序算法的学习了,站在数据结构新手村的岔路口,前方排序算法的宝藏山洞泛着金光✨——但宝子们先别急!你腰间那柄二叉树锻造的算法之剑,还差最后9次淬火才能开刃!🗡️
其实是:博主还没有将排序算法的博客写出来

二叉树的OJ练习

144. 二叉树的前序遍历

题目介绍

在这里插入图片描述

方法一:

/*** Definition for a binary tree node.* struct TreeNode * {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
/*** Note: The returned array must be malloced, assume caller calls free().*///1.实现:“二叉树的求树中节点的总个数”操作
int BTSize(struct TreeNode*root)
{//1.处理:“空树 + 遍历到空节点”的情况if(root==NULL) return 0;//2.递归计算二叉树中节点的个数return BTSize(root->left)+BTSize(root->right)+1;
}//2.实现:“二叉树的前序遍历”操作
void PrevOrder(struct TreeNode*root,int*arr,int* pi)
{//1.处理:“空树 + 空节点”的情况if(root==NULL) return;//递归的进行遍历arr[*pi]=root->val;(*pi)++;PrevOrder(root->left,arr,pi);PrevOrder(root->right,arr,pi);
}int* preorderTraversal(struct TreeNode* root, int* returnSize) 
{//这道题的意思:将二叉树的前序遍历的次序存储到数组中//思路://1.先计算出二叉树总的节点数//2.进行前序遍历将遍历的次数存储到数组中//1.动态开辟数组空间*returnSize=BTSize(root);int* arr=(int*)malloc(*returnSize*sizeof(int));int i=0;//2.先序序列填充数组PrevOrder(root,arr,&i);return arr;
}

104. 二叉树的最大深度

题目介绍

在这里插入图片描述

方法一:

/*** Definition for a binary tree node.* struct TreeNode * {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*///问题的本质:二叉树的最大深度=fmax(左子树的深度,右子树的深度);
int maxDepth(struct TreeNode* root) 
{//1. 处理:空树的情况if(root==NULL)  return 0;return fmax(maxDepth(root->left),maxDepth(root->right))+1;
}

965. 单值二叉树

题目介绍

在这里插入图片描述

方法一:

/*** Definition for a binary tree node.* struct TreeNode * {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/bool isUnivalTree(struct TreeNode* root) 
{//1.处理:空树的情况if(root==NULL) return true;//2.使用if判断:如果双亲节点的值不等于孩子节点的值if(root->left&&root->left->val!=root->val) return false;if(root->right&&root->right->val!=root->val) return false;//3.1:在左子树中进行递归bool ret=isUnivalTree(root->left);if(!ret) return false;//3.2:在右子树中进行递归ret=isUnivalTree(root->right);if(!ret) return false;//4.返回通过所有检测的返回值return true;//注:上面的写法也可以写成下面的更简洁的写法//使用递归判断左子树和右子树的节点的情况 (将左子树和右子树进行汇总)//return isUnivalTree(root->left)&&isUnivalTree(root->right);
}

100. 相同的树

题目介绍

在这里插入图片描述

方法一:

/*** Definition for a binary tree node.* struct TreeNode * {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q) 
{//1.处理:两颗树都为空树的情况if(p==NULL&&q==NULL) return true;//2.处理:其中一颗树为空树的情况if(p==NULL||q==NULL) return false;//3.使用if判断:如果的两棵树的节点的值不相等if(p->val!=q->val) return false;//3.递归判断左子树和右子树的所有节点是否相等bool ret=isSameTree(p->left,q->left);if(!ret) return false; //这里是当我们未遍历完所有的节点时就已经出现了节点不匹配的情况的话,我们就先让递归提前结束ret=isSameTree(p->right,q->right);if(!ret) return false; return true;
}

101. 对称二叉树

题目介绍

在这里插入图片描述

方法一:

/*** Definition for a binary tree node.* struct TreeNode * {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/bool _isSymmetric(struct TreeNode* root1,struct TreeNode*root2)
{//1.处理:左子树和右子树都为空树的情况if(root1==NULL&&root2==NULL)  return true;//2.处理:左子树和右子树中有一颗树是空树if(root1==NULL||root2==NULL) return false;//3.处理:左子树和右子树都不为空树,但是对应位置的节点的值却不相等if(root1->val!=root2->val) return false;//4.进行递归遍历左子树和右子树中的节点//4.1:比较:“左子树的左孩子 and  右子树的右孩子”bool ret =_isSymmetric(root1->left,root2->right);if(!ret) return false;//4.2:比较:“左子树的右孩子 and  右子树的左孩子”ret =_isSymmetric(root1->right,root2->left);if(!ret) return false;return true;//注意:上面的第四步也可以用下面的这一句代码进行代替//return _isSymmetric(root1->left,root2->right)&&_isSymmetric(root1->right,root2->left);
}bool isSymmetric(struct TreeNode* root) 
{//1.确保进行判断的这颗树是一颗合法的树if(!root) return false;//2.调用子函数解决问题return  _isSymmetric(root->left,root->right);
}

572. 另一棵树的子树

题目介绍

在这里插入图片描述

方法一:

/*** Definition for a binary tree node.* struct TreeNode * {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/bool isSameTree(struct TreeNode*root1,struct TreeNode*root2)
{//1.处理:“空树 + 遍历到空节点” 的情况if(root1==NULL&&root2==NULL) return true;//2.处理:其中一棵树为空树另一棵树不为空树的情况if(root1==NULL||root2==NULL) return false;//3.处理:两棵树都不为空树但是,但是当前遍历到的节点的值不相等if(root1->val!=root2->val) return false;//4.进行递归判断两棵树的其他节点bool ret=isSameTree(root1->left,root2->left);if(!ret) return false;ret=isSameTree(root1->right,root2->right);if(!ret) return false;return true;
}bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot) 
{//思路:判断一棵树是不是另一棵树的子树//(1)二叉树的寻找某个节点操作 + (2)判断两棵二叉树是否相等//1.处理:“空树 + 遍历到空节点” 的情况if(root==NULL) return false;//2.使用if判断:如果我们找到这个节点if(isSameTree(root,subRoot)) return true;//3.进行递归遍历//3.1:递归左子树进行寻找bool ret=isSubtree(root->left,subRoot);if(ret) return ret;//3.2:递归右子树进行寻找ret=isSubtree(root->right,subRoot);if(ret) return ret;return false;
}

KY11 二叉树遍历

题目介绍

开始挑战: KY11 二叉树遍历

在这里插入图片描述

方法一:

#include <stdio.h>
#include <stdlib.h>//二叉树的存储结构
typedef struct BinaryTreeNode
{int data;struct BinaryTreeNode* left;struct BinaryTreeNode* right;}BTNode;//1.实现:“二叉树的中序遍历”操作
void InOrder(BTNode*root)
{//1.处理:“空树 + 空节点”的情况if(root==NULL) return;//2.递归进行中序遍历InOrder(root->left);printf("%c ",root->data);InOrder(root->right);
}//2.实现:“根据前序遍历字符串创建出一棵二叉树”
BTNode* BTCreate(char* arr,int* pi)
{//1.先处理空节点if(arr[*pi]=='#') //注意:这里不要写成if(arr[(*pi)++]==NULL)的形式{                 //原因:写成这样无论当前数组中的元素是否为'#'都会使(*pi)++(*pi)++;return NULL;} //2.再处理非空节点//2.1:使用malloc为树节点开辟空间BTNode* root=(BTNode*)malloc(sizeof(BTNode));//2.2:为节点进行赋值root->data=arr[*pi];(*pi)++;//2.3:为节点创建结构root->left=BTCreate(arr,pi);root->right=BTCreate(arr,pi);//3.返回创建出的二叉树的根节点return root;
}int main() 
{//1.获取数据char arr[100];scanf("%s",arr);int i=0;//2.处理数据BTNode*root=BTCreate(arr, &i);//3.输出数据:InOrder(root);return 0;
}

226. 翻转二叉树

题目介绍

在这里插入图片描述

方法一:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*///实现两个变量的值的交换
//注意:这里要写struct不要忘记了,因为这里的struct TreeNode 才是a的类型啊!!!
void Swap(struct TreeNode **a,struct TreeNode **b)
{//注意:Swap函数处理的是树的节点,需要进行判空操作if(a==NULL&&b==NULL) return;struct TreeNode *tmp=*a;*a=*b;*b=tmp;
}struct TreeNode* invertTree(struct TreeNode* root) 
{//1.处理空树的情况 (同时也是递归结束的条件 ---> 传入参数的空节点的时候,停止递归)if(root==NULL) return NULL;//2.交换遍历到的节点的左右孩子 Swap(&root->left,&root->right);//3.递归处理其他的节点invertTree(root->left);invertTree(root->right);//4.将处理后的二叉树的根节点返回return root; 
}

110. 平衡二叉树

题目介绍

在这里插入图片描述

方法一:

/*** Definition for a binary tree node.* struct TreeNode * {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*//*--------------实现求一个求树高度的方法--------------*/
int BTHeight(struct TreeNode*root)
{//1.处理空树的情况 (同时也是递归结束的条件 ---> 传入参数的空节点的时候,停止递归)if(root==NULL) return 0;//2.递归处理左子树的情况int leftHeight=BTHeight(root->left);//3.递归处理右子树的情况int rightHeight=BTHeight(root->right);return (leftHeight>rightHeight?leftHeight:rightHeight)+1;
}bool isBalanced(struct TreeNode* root) 
{//思路://1.遍历的这棵树中的所以节点//2.对遍历到的每个节点的左右子树的根节点调用BTHeight函数//3.计算所返回的两个值的差值//处理空树的情况 (同时也是递归结束的条件 ---> 传入参数的空节点的时候,停止递归)if(root==NULL) return true;/*-------------第一步:求出分别以当前遍历到的节点的左右子树为根节点的树的高度-------------*/int leftTree=BTHeight(root->left);int rightTree=BTHeight(root->right);/*-------------第二步:计算左右子树的高度差-------------*/if(abs(leftTree-rightTree)>1){return false;}/*-------------第三步:递归遍历这棵二叉树中的所有的节点-------------*/return isBalanced(root->left)&&isBalanced(root->right);}

在这里插入图片描述

相关文章:

《数据结构初阶》【二叉树 精选9道OJ练习】

【二叉树 精选9道OJ练习】目录 前言&#xff1a;二叉树的OJ练习[144. 二叉树的前序遍历](https://leetcode.cn/problems/binary-tree-preorder-traversal/)题目介绍方法一&#xff1a;[104. 二叉树的最大深度](https://leetcode.cn/problems/maximum-depth-of-binary-tree/)题目…...

协议不兼容?Profinet转Modbus TCP网关让恒压供水系统通信0障碍

在现代工业自动化领域中&#xff0c;通信协议扮演着至关重要的角色。ModbusTCP和Profinet是两种广泛使用的工业通信协议&#xff0c;它们各自在不同的应用场合中展现出独特的优势。本文将探讨如何通过开疆智能Profinet转Modbus TCP的网关&#xff0c;在恒压供水系统中实现高效的…...

基于大模型预测的脑出血全流程诊疗技术方案

目录 一、系统架构设计技术架构图二、核心算法实现1. 多模态数据融合算法伪代码2. 风险预测模型实现三、关键模块流程图1. 术前风险预测流程图2. 术中决策支持流程图3. 并发症预测防控流程图四、系统集成方案1. 数据接口规范五、性能优化策略1. 推理加速方案2. 分布式训练架构六…...

掌握 LangChain 文档处理核心:Document Loaders 与 Text Splitters 全解析

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是LangChain 2、LangChain 在智能应用中的作用 …...

Oracle — 总结

Oracle 公司及产品概述 公司背景 Oracle&#xff08;甲骨文&#xff09;是全球领先的数据库软件和服务提供商&#xff0c;成立于1977年&#xff0c;核心产品包括&#xff1a; Oracle Database&#xff1a;关系型数据库管理系统&#xff08;RDBMS&#xff09;。Java&#xff1a…...

【Vue 3全栈实战】从响应式原理到企业级架构设计

目录 &#x1f31f; 前言&#x1f3d7;️ 技术背景与价值&#x1fa79; 当前技术痛点&#x1f6e0;️ 解决方案概述&#x1f465; 目标读者说明 &#x1f9e0; 一、技术原理剖析&#x1f4ca; 核心概念图解&#x1f4a1; 核心作用讲解&#x1f527; 关键技术模块说明⚖️ 技术选…...

升级kafka4.0.0,无ZK版本

设备规划&#xff1a; 172.20.192.47 kafka-0 172.20.192.48 kafka-1 172.20.192.49 kafka-2 单机块7TB Nvme磁盘一共9块 # 格式化成GPT分区 sudo parted /dev/nvme0n1 --script mklabel gpt sudo parted /dev/nvme1n1 --script mklabel gpt sudo parted /dev/nvme2n1 --s…...

GESP2025年3月认证C++二级( 第三部分编程题(1)等差矩阵)

参考程序&#xff1a; #include <bits/stdc.h> using namespace std;int n, m; // 声明矩阵的行数 n 和列数 mint main() {// 输入两个正整数 n 和 mscanf("%d%d", &n, &m);// 遍历每一行for (int i 1; i < n; i)// 遍历每一列for (int j 1; j &…...

Linux系统启动相关:vmlinux、vmlinuz、zImage,和initrd 、 initramfs,以及SystemV 和 SystemD

目录 一、vmlinux、vmlinuz、zImage、bzImage、uImage 二、initrd 和 initramfs 1、initrd&#xff08;Initial RAM Disk&#xff09; 2、initramfs&#xff08;Initial RAM Filesystem&#xff09; 3、initrd vs. initramfs 对比 4. 如何查看和生成 initramfs 三、Syste…...

单序列双指针---初阶篇

目录 相向双指针 344. 反转字符串 125. 验证回文串 1750. 删除字符串两端相同字符后的最短长度 2105. 给植物浇水 II 977. 有序数组的平方 658. 找到 K 个最接近的元素 1471. 数组中的 k 个最强值 167. 两数之和 II - 输入有序数组 633. 平方数之和 2824. 统计和小于…...

K8s CoreDNS 核心知识点总结

文章目录 一、章节介绍背景与主旨核心知识点及面试频率 二、知识点详解1. CoreDNS 概述2. 工作原理&#xff08;高频考点&#xff09;服务发现流程 3. 配置与插件系统&#xff08;高频考点&#xff09;核心配置文件&#xff1a;Corefile常用插件 4. Pod DNS策略&#xff08;中频…...

Java视频流RTMP/RTSP协议解析与实战代码

在Java中实现视频直播的输入流处理&#xff0c;通常需要结合网络编程、多媒体处理库以及流媒体协议&#xff08;如RTMP、HLS、RTSP等&#xff09;。以下是实现视频直播输入流的关键步骤和技术要点&#xff1a; 1. 视频直播输入流的核心组件 网络输入流&#xff1a;通过Socket或…...

卓力达电铸镍网:精密制造与跨领域应用的创新典范

目录 引言 一、电铸镍网的技术原理与核心特性 二、电铸镍网的跨领域应用 三、南通卓力达电铸镍网的核心优势 四、未来技术展望 引言 电铸镍网作为一种兼具高精度与高性能的金属网状材料&#xff0c;通过电化学沉积工艺实现复杂结构的精密成型&#xff0c;已成为航空航天、电…...

label-studio功能常用英文翻译

Projects 项目 Settings 设置 Labeling Interface 标注界面 1、Computer Vision 计算机视觉 Semantic Segmentation with Polygons 多边形语义分割 Semantic Segmentation with Masks 掩码语义分割 Object Detection with Bounding Boxes 边界框目标检测 Keypoint Label…...

2025年PMP 学习十六 第11章 项目风险管理 (总章)

2025年PMP 学习十六 第11章 项目风险管理 &#xff08;总章&#xff09; 第11章 项目风险管理 序号过程过程组1规划风险管理规划2识别风险规划3实施定性风险分析规划4实施定量风险分析规划5规划风险应对执行6实施风险应对执行7监控风险监控 目标: 提高项目中积极事件的概率和…...

Jenkins 执行器(Executor)如何调整限制?

目录 现象原因解决 现象 Jenkins 构建时&#xff0c;提示如下&#xff1a; 此刻的心情正如上图中的小老头&#xff0c;火冒三丈&#xff0c;但是不要急&#xff0c;因为每一次错误&#xff0c;都是系统中某个环节在说‘我撑不住了’。 原因 其实是上图的提示表示 Jenkins 当…...

Jenkins 安装与配置指南

Jenkins 安装与配置指南&#xff08;MD 示例&#xff09; markdown Jenkins 安装与配置指南 ## 一、环境准备 1. **系统要求** - 操作系统&#xff1a;Linux/macOS/Windows - Java 版本&#xff1a;JDK 8 或更高&#xff08;建议 JDK 11&#xff09;2. **安装方式** - **L…...

使用unsloth对Qwen3在本地进行微调

Fine-tune Qwen3(100% locally) 使用unsloth进行微调,使用huggingface在本地运行model。 load model from unsloth import FastLanguageModel import torchMODEL = "unsloth/Qwen3-14B" model,tokenizer = FastLanguageModel.from_pretrained(model_name=MODE…...

GpuGeek 实操指南:So-VITS-SVC 语音合成与 Stable Diffusion 文生图双模型搭建,融合即梦 AI 的深度实践

GpuGeek 实操指南&#xff1a;So-VITS-SVC 语音合成与 Stable Diffusion 文生图双模型搭建&#xff0c;融合即梦 AI 的深度实践 前言 本文将详细讲解 So-VITS-SVC 语音合成与 Stable Diffusion 文生图的搭建方法&#xff0c;以及二者与即梦 AI 融合的实践技巧&#xff0c;无论你…...

CSS- 3.1 盒子模型-块级元素、行内元素、行内块级元素和display属性

本系列可作为前端学习系列的笔记&#xff0c;代码的运行环境是在HBuilder中&#xff0c;小编会将代码复制下来&#xff0c;大家复制下来就可以练习了&#xff0c;方便大家学习。 HTML系列文章 已经收录在前端专栏&#xff0c;有需要的宝宝们可以点击前端专栏查看&#xff01; 点…...

使用exceljs将excel文件转化为html预览最佳实践(完整源码)

前言 在企业应用中&#xff0c;我们时常会遇到需要上传并展示 Excel 文件的需求&#xff0c;以实现文件内容的在线预览。经过一番探索与尝试&#xff0c;笔者最终借助 exceljs 这一库成功实现了该功能。本文将以 Vue 3 为例&#xff0c;演示如何实现该功能&#xff0c;代码示例…...

7. 进程控制-进程替换

目录 1. 进程替换 1.1 单进程版&#xff1a; 1.2 进程替换的原理 1.3 多进程版-验证各种程序替换接口 2. 进程替换的各种接口 2.1 execl 2.2 execlp 2.3 execv 2.4 execvp 2.5 execle 1. 进程替换 上图为程序替换的接口&#xff0c;之后会详细介绍。 1.1 单进程版&am…...

关于计算机系统和数据原子性的联系

目录 1、计算机架构 1.1、处理器架构 1.2、内存寻址能力 1.3、性能差异 1.4、软件兼容性 1.5、指令集 1.6、开发和维护 2.、基本数据类型 3、原子类型 3.1、基本概念 3.2、基本数据类型的原子性 3.3、原子操作的解释 3.4、不保证原子性 3.5、解决方案 4、原子性…...

Armijo rule

非精线搜索步长规则Armijo规则&Goldstein规则&Wolfe规则_armijo rule-CSDN博客 [原创]用“人话”解释不精确线搜索中的Armijo-Goldstein准则及Wolfe-Powell准则 – 编码无悔 / Intent & Focused...

从数据包到可靠性:UDP/TCP协议的工作原理分析

之前我们已经使用udp/tcp的相关接口写了一些简单的客户端与服务端代码。也了解了协议是什么&#xff0c;包括自定义协议和知名协议比如http/https和ssh等。现在我们再回到传输层&#xff0c;对udp和tcp这两传输层巨头协议做更深一步的分析。 一.UDP UDP相关内容很简单&#xf…...

Prometheus实战教程:k8s平台-Mysql监控案例

配置文件优化后的 Prometheus 自动发现 MySQL 实例的完整 YAML 文件。该配置包括&#xff1a; MySQL Exporter 部署&#xff1a;使用 ConfigMap 提供 MySQL 连接信息。Prometheus 自动发现&#xff1a;通过 Kubernetes 服务发现自动抓取 MySQL 实例。 1、mysql 配置文件 &…...

执行apt-get update 报错ModuleNotFoundError: No module named ‘apt_pkg‘的解决方案汇总

Ubuntu版本ubuntu18.04 报错内容&#xff1a; //执行apt-get upgrade报错&#xff1a; Traceback :File “/usr/lib/cnf-update-db”, line 8, in <module>from CommandNotFound.db.creator import DbcreatorFile “/usr/lib/python3/dist-packages/CommandNotFound/db…...

QT6 源(101)篇一:阅读与注释 QPlainTextEdit,其继承于QAbstractScrollArea,属性学习与测试

&#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09;属性学习与测试 &#xff1a; &#xff08;4&#xff09; &#xff08;5&#xff09; 谢谢...

Redis(2):Redis + Lua为什么可以实现原子性

Redis 作为一款高性能的键值对存储数据库&#xff0c;与 Lua 脚本相结合&#xff0c;为实现原子性操作提供了强大的解决方案&#xff0c;本文将深入探讨 Redis Lua 实现原子性的相关知识 原子性概念的厘清 在探讨 Redis Lua 的原子性之前&#xff0c;我们需要明确原子性的概念…...

ios打包ipa获取证书和打包创建经验分享

在云打包或本地打包ios应用&#xff0c;打包成ipa格式的app文件的过程中&#xff0c;私钥证书和profile文件是必须的。 其实打包的过程并不难&#xff0c;因为像hbuilderx这些打包工具&#xff0c;只要你输入的是正确的证书&#xff0c;打包就肯定会成功。因此&#xff0c;证书…...

Python生成器:高效处理大数据的秘密武器

生成器概述 生成器是 Python 中的一种特殊迭代器&#xff0c;通过普通函数的语法实现&#xff0c;但使用 yield 语句返回数据。生成器自动实现了 __iter__() 和 __next__() 方法&#xff0c;因此可以直接用于迭代。生成器的核心特点是延迟计算&#xff08;lazy evaluation&…...

C++11(2)

文章目录 右值引用和移动语义在传参中的提效list容器push_back & insert右值版本的模拟实现类型分类 (了解即可&#xff09;引用折叠万能引用 完美转发&#xff08;跟引用折叠有关&#xff09; 简介&#xff1a;这篇文章是继续介绍C11的一些新语法知识点&#xff0c;也是对…...

unity terrain 在生成草,树,石头等地形障碍的时候,无法触发碰撞导致人物穿过模型

1.terrain地形的草&#xff0c;石头之类要选择模型预制体 2.在人物身上挂碰撞器和刚体&#xff0c;或者单挂一个character controller组件也行 3.在预制体上挂碰撞盒就好了&#xff0c;挂载meshcollider会导致碰撞无效...

以项目的方式学QT开发C++(二)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!

API 描述 函数原型 参数说明 push_back() 在 list 尾部 添加一个元素 void push_back(const T& value); value &#xff1a;要添 加到尾部的元 素 这个示例演示了如何创建 std::list 容器&#xff0c;并对其进行插入、删除和迭代操作。在实际应用中&am…...

养生:健康生活的极简攻略

在追求高效生活的当下&#xff0c;养生也能化繁为简。通过饮食、运动、睡眠与心态的精准调节&#xff0c;就能轻松为健康续航。 饮食上&#xff0c;遵循 “均衡、节制” 原则。早餐用一杯热豆浆搭配水煮蛋和半个苹果&#xff0c;唤醒肠胃活力&#xff1b;午餐以糙米饭为主食&am…...

C语言-8.数组

8.1数组 8.1.1初试数组 如何写一个程序计算用户输入的数字的平均数? #include<stdio.h> int main() {int digit;//输入要求平均数的数字double sum=0;//记录输入数字的和int count=0;//记录输入数字的个数printf("请输入一组数字,用来求平均数,以-1结束\n&quo…...

代码随想录算法训练营第四十一天

LeetCode题目: 739. 每日温度496. 下一个更大元素 I503. 下一个更大元素 II 其他: 今日总结 往期打卡 739. 每日温度 跳转: 739. 每日温度 学习: 代码随想录公开讲解 问题: 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &…...

c++,windows,多线程编程详细介绍

目录 一、C11 标准库 <thread> 实现多线程编程1. 基本线程创建2. 线程管理3. 线程传参4. 同步机制5. 异步编程 二、Windows API 实现多线程编程1. 基本线程创建2. 线程管理3. 线程传参 三、两种方法的对比 在 Windows 平台上使用 C 进行多线程编程&#xff0c;可以通过 C…...

Python多线程

Python多线程 作为一名Python开发者&#xff0c;你是否遇到过这样的场景&#xff1a;程序需要同时处理多个任务&#xff0c;但单线程执行效率太低&#xff1f;这时候&#xff0c;多线程技术就能派上用场了。本文将带你深入浅出地理解Python多线程&#xff0c;并通过丰富的示例…...

VisionPro斑点寻找工具Blob

斑点寻找工具Blob 斑点概述 斑点分析 探测并且分析图像中的二维形状Blob是先根据用户设定好的灰阶范围对图像进行分割&#xff0c;然后对目标进行查找和分析。斑点报告多种属性&#xff1a; 面积质心周长主轴…….. 应用场景 Blob分析非常适合以下场合的应用&#xff1a; 对…...

【Python】【面试凉经】Fastapi为什么Fast

核心的关键词&#xff1a;ASGI、原生异步、协程、uvloop、异步生态、Pydantic编译时生成校验代码、DI system预计算依赖树 interviewer 00:32:49 FastAPI 它优越于其他一些主流web框架像 django或 flask 的这个点在哪里&#xff1f; 我 00:33:00fastapi 就是说它的 fast 性能高…...

LocalDateTime类型的时间在前端页面不显示或者修改数据时因为LocalDateTime导致无法修改,解决方案

1.数据库中的时间数据&#xff0c;在控制台可以正常返回&#xff0c;在前端无法返回&#xff0c;即显示空白&#xff0c;如下图所示: 2.这种问题一般时由于数据库和我们实体类的名称不一致引起的&#xff0c;我们数据库一般采用_的方式命名&#xff0c;但是在Java中我们一般采用…...

【Linux】gcc从源码编译安装,修改源码,验证修改的源码

前阵子电脑使用的win10&#xff0c;win10过几天就让升级&#xff0c;烦得不行。 然后把操作系统切换到ubuntu24的样子,然后也是让升级&#xff0c;又烦的不行&#xff0c;然后切换到ubuntu server版本&#xff0c;感觉用起来要舒服些了&#xff0c;至少不会天天让升级。 回到标…...

牛客网NC22157:牛牛学数列2

牛客网NC22157:牛牛学数列2 &#x1f4dd; 题目描述 &#x1f50d; 输入输出说明 输入描述&#xff1a; 输入一个整数 N&#xff0c;范围在 0 到 1000 输出描述&#xff1a; 输出一个保留6位小数的浮点数 示例&#xff1a; 输入&#xff1a;2输出&#xff1a;1.500000 …...

智能手表集成测试报告(Integration Test Report)

&#x1f4c4; 智能手表集成测试报告&#xff08;Integration Test Report&#xff09; 项目名称&#xff1a;Aurora Watch S1 测试阶段&#xff1a;系统集成测试 测试周期&#xff1a;2025年xx月xx日 – 2025年xx月xx日 报告编号&#xff1a;AW-S1-ITR-2025-001 版本&#xf…...

1C:ENTERPRISE 8.3 实用开发者指南-示例和标准技术(Session1-Session3)

1C:ENTERPRISE 8.3&#xff08;1课-3课&#xff09; 本博客是全网首个关于1C:Enterprice的中文指南&#xff0c;支持快速吸收使用 1C:Enterprise 8.3 软件开发和调整应用程序的技术 在这篇博客中我会基于实际应用示例&#xff0c;演示各种系统对象的结构、功能和用法。使用内…...

AgenticSeek开源的完全本地的 Manus AI。无需 API,享受一个自主代理,它可以思考、浏览 Web 和编码,只需支付电费。

​一、软件介绍 文末提供程序和源码下载 AgenticSeek开源的完全本地的 Manus AI。无需 API&#xff0c;享受一个自主代理&#xff0c;它可以思考、浏览 Web 和编码&#xff0c;只需支付电费。这款支持语音的 AI 助手是 Manus AI 的 100% 本地替代品 &#xff0c;可自主浏览网页…...

Java类一文分解:JavaBean,工具类,测试类的深度剖析

解锁Java类的神秘面纱&#xff1a;从JavaBean到测试类的深度剖析 前言一、JavaBean 类&#xff1a;数据的守护者&#xff08;一&#xff09;JavaBean 类是什么&#xff08;二&#xff09;JavaBean 类的特征&#xff08;三&#xff09;JavaBean 类的使用场景&#xff08;四&…...

2025认证杯数学建模第二阶段C题:化工厂生产流程的预测和控制,思路+模型+代码

2025认证杯数学建模第二阶段思路模型代码&#xff0c;详细内容见文末名片 一、探秘化工世界&#xff1a;问题背景大揭秘 在 2025 年 “认证杯”数学中国数学建模网络挑战赛第二阶段 C 题中&#xff0c;我们一头扎进了神秘又复杂的化工厂生产流程预测与控制领域。想象一下&…...

day 17 无监督学习之聚类算法

一、聚类流程 1. 利用聚类发现数据模式 无监督算法中的聚类&#xff0c;目的就是将数据点划分成不同的组或 “簇”&#xff0c;使得同一簇内的数据点相似度较高&#xff0c;而不同簇的数据点相似度较低&#xff0c;从而发现数据中隐藏的模式。 2. 对聚类后的类别特征进行可视…...