《五月集训》第十九日——二叉树

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

前言

这是五月集训的第十九日,今日的训练内容是 二叉树

解题报告

1.力扣144

原题链接

144. 二叉树的前序遍历

题目概述

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

解题思路

前序遍历,填入,过啦!

源码剖析

void preSearch(struct TreeNode* root, int* returnSize, int *nums){
    if (root) {
        nums[(* returnSize) ++] = root -> val;
        preSearch(root -> left, returnSize, nums);
        preSearch(root -> right, returnSize, nums);
    }
}

int* preorderTraversal(struct TreeNode* root, int* returnSize){
    int *nums = (int *)malloc(sizeof(int)*100);
    * returnSize = 0;
    preSearch(root, returnSize, nums);
    return nums;
}

2.力扣94

原题链接

94. 二叉树的中序遍历

题目概述

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。

解题思路

复制粘贴改个顺序,改个名字,过啦!

源码剖析

void preSearch(struct TreeNode* root, int* returnSize, int *nums){
    if (root) {
        preSearch(root -> left, returnSize, nums);
        nums[(* returnSize) ++] = root -> val;
        preSearch(root -> right, returnSize, nums);
    }
}

int* inorderTraversal(struct TreeNode* root, int* returnSize){
    int *nums = (int *)malloc(sizeof(int)*100);
    * returnSize = 0;
    preSearch(root, returnSize, nums);
    return nums;
}

3.力扣145

原题链接

145. 二叉树的后序遍历

题目概述

给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。

解题思路

复制粘贴改个顺序,改个名字,过啦!

源码剖析

void preSearch(struct TreeNode* root, int* returnSize, int *nums){
    if (root) {
        preSearch(root -> left, returnSize, nums);
        preSearch(root -> right, returnSize, nums);
        nums[(* returnSize) ++] = root -> val;
    }
}

int* postorderTraversal(struct TreeNode* root, int* returnSize){
    int *nums = (int *)malloc(sizeof(int)*100);
    * returnSize = 0;
    preSearch(root, returnSize, nums);
    return nums;
}

4.力扣104

原题链接

104. 二叉树的最大深度

题目概述

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

解题思路

构建一个函数对树进行遍历即可

源码剖析

//递归判断
int get_tree_depth(struct TreeNode* node)
{
    int rightDepth = 1;
    int leftDepth  = 1;
    //查找左子树
    if(node->left != NULL)
    {
        leftDepth = rightDepth + get_tree_depth(node->left);
    }

    //查找右子树
    if(node->right != NULL)
    {
        rightDepth = rightDepth + get_tree_depth(node->right) ;
    }

    if(leftDepth >= rightDepth)
    {
        return leftDepth;
    }
    else
    {
        return rightDepth;
    }
    
}

int maxDepth(struct TreeNode* root)
{
    if(root==NULL)
    {
        return 0;
    }
    return get_tree_depth(root);
}
雷光联动自动化标校方法 动态标校需要利用动目标,在雷达和光电同时看到目标时记录光电的方位、俯仰,以及利用雷达给的目标信息计算的方位俯仰,手动记录两者的数值,多方位,多距离段记录,费时费力,且人工记录数据不全,计算容易出差错,耗费成本和精力太大。目标相距设备的水平距离 = acos(cos(设备纬度弧度值) * cos(目标纬度弧度值) * cos(设备经度弧度值 – 目标经度弧度值) + sin(设备纬度弧度值) * sin(目标纬度弧度值)) * 6378137;本发明涉及光电技术领域,安防领域,尤其涉及雷达光电动态标校等。 阅读详情

相关推荐

LDPC码译码原理——概率公式推导

怎么说呢,一直以来都想写一下博客。近半年多来我一直在学习LDPC码译码上的东西,主要是在FPGA实现上的,所以这次想写一些关于这方面的内容,包括译码的原理、仿真以及实现。(当然是基于准循环LDPC码上实现的)不过呢,我写这个的初衷是为了让初学者理解入门用的,而不是在大牛面前班门弄斧,有错误之处欢迎大家批评指正。不知道会不会有人一开始像我一样,为了学好LDPC码,先去好好了解其它的诸如RS码或者是卷...

stand_by_me123的博客 2万+

SenseVoice语音识别效果实测:富文本转写与情感识别功能体验

本文介绍了如何在星图GPU平台上自动化部署sensevoice-small-语音识别-onnx模型(带量化后),实现高效的语音识别与富文本转写。该模型不仅能准确转写文字,还能识别说话人情感、检测笑声掌声等音频事件,并自动将口语化数字转为规范格式,可广泛应用于会议纪要自动化、客服通话分析等场景,显著提升音频内容处理效率。

weixin_35390379的博客 238

Mac用户福音:三步搞定PyMol开源版,告别许可证弹窗(附Homebrew/MacPorts安装指南)

本文为Mac用户提供三步安装PyMol开源版的详细指南,帮助科研人员告别许可证弹窗烦恼。通过Homebrew或MacPorts包管理器安装开源核心,并与商业版图形界面整合,实现无干扰的分子可视化研究体验。特别适合MacOS用户快速部署PyMol进行结构生物学分析。

weixin_28743405的博客 194

五月集训(第十九日)二叉树

五月集训(第十九日)二叉树

nannian123的博客 304

STM32G030C8T6 ADC+DMA实战:同时采集外部电压和芯片温度的完整代码流程

本文详细介绍了STM32G030C8T6芯片通过ADC+DMA实现外部电压和芯片内部温度采集的完整流程。从硬件设计到CubeMX配置,再到驱动模块化实现与系统优化,提供了高精度多通道采集系统的实战指南,特别适合嵌入式开发者在工业控制和环境监测项目中应用。

weixin_42653691的博客 467

基于大模型最大化电力交易收益(策略与代码实践)

新一代电力交易系统正借助大型语言模型(LLM)实现智能化转型。面对可再生能源占比提升带来的市场波动性加剧,传统交易策略已难以应对。LLM通过多模态能力,能够实时处理海量异构数据,包括政策公告、设备检修信息、天气报告等非结构化数据,构建更精准的电力市场预测模型。智能交易系统主要包含三大核心模块:市场情报感知与理解器、融合LLM的短期电价预测模型和自适应交易策略生成器。这些模块协同工作,可在几分钟内完成事件分析、价格预测和策略生成,显著提升交易效率。系统还能实现跨市场套利和动态风险管理,但需注意数据质量、模型验

专注AI大模型,软件混淆,授权 1255

《五月集训》(第十九天)——二叉树

《五月集训》(第十九天)——二叉树

weixin_42396991的博客 392

OSG第三方库编译之二十一:minizip编译(Windows、Linux、Macos环境下编译)

OSG编译;第三方库;跨平台编译;minizip编译(Windows、Linux、Macos环境下编译)

LuckyHanMo的博客 2621

《五月集训》第十九天——二叉树

文章目录前言💎一、题目一🏆1.题目描述🏆2.解题思路🏆3.代码详解💎二、题目二🏆1.题目描述🏆2.解题思路🏆3.代码详解💎三、题目三🏆1.题目描述🏆2.解题思路🏆3.代码详解💎四、题目四🏆1.题目描述🏆2.解题思路🏆3.代码详解💎五、星球推荐 前言         二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构

qq_40864532的博客 965

Windows Server 2016远程桌面服务配置和授权激活

Server 2016默认远程桌面连接数是2个用户,如果多余两个用户进行远程桌面连接时,系统就会提示超过连接数,可以通过添加远程桌面授权解决:1、添加远程桌面授权服务第一步:服务器管理 - 添加角色和功能打开添加角色和功能向导窗口,选择基于角色或给予功能安装:第二步:添加远程桌面会话主机和远程桌面授权功能:以上配置完成后即可使用多于2用户同时登陆,但使用期限为120天,再次登陆会有如下提示:2、添...

mahailiang的专栏 6万+

Open3D 点云变换【2025最新版】

点云平移、旋转、缩放、欧式变换的python代码实现。博客长期更新,本文最近更新时间为:2025年1月16日。

点云侠的博客 37万+

五月集训第十九天——二叉树

文章目录前言一、二叉树的前序遍历一、思路:二、源码三.知识点二、 二叉树的中序遍历一、思路:二、源码三.知识点三、二叉树的后序遍历一、思路:二、源码三.知识点三、二叉树的最大深度一、思路:二、源码三.知识点 前言 今天算法的内容是:二叉树 一、二叉树的前序遍历         给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 一、思路:       &n

m0_64141176的博客 470

某联达OA任意用户登录漏洞复现

由于`/WebService/Lk6SyncService/DirectToOthers/GetSSOStamp.asm`j接口未作限制,导致可以通过该接口调用`admin`的`cookie`值,通过对`LoginCredence`和`LoginTimestamp`的参数修改,进而实现任意登录进去系统.

千寻的博客 1589

【五月集训】第十九天打卡(二叉树)

文章目录144. 二叉树的前序遍历题目链接思路题解144. 二叉树的中序遍历题目链接思路题解144. 二叉树的后序遍历题目链接思路题解104. 二叉树的最大深度题目链接思路题解 144. 二叉树的前序遍历 题目链接 二叉树的前序遍历 思路 根左右 题解 function preorderTraversal(root: TreeNode | null): number[] { let res = [] function dfs(root: TreeNode | null) {

ykl970719的博客 358

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【五月集训】(第十九天)—— 二叉树

五月集训 第十九天

weixin_49427216的博客 395

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

英雄算法联盟---五月集训总结

知识星球---英雄算法联盟

LAdestiny的博客 1194

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 196

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 302

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 567

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 20

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 748

【算法拾光】模拟|外观数列 + 数青蛙

本文总结两道模拟题解法:外观数列通过迭代统计连续数字个数生成下一项,关键在于处理末尾字符;数青蛙则模拟青蛙叫声“croak”状态转移,维护各阶段青蛙数量,记录最大并发数并确保全部完成。共性在于严格遵循流程、细致处理边界与非法情况,锻炼字符串遍历与状态管理能力。

wuqingyigexiaoba的博客 367

牛客周赛165C题(前后缀性质,递推,排序,枚举)

题目大意:给定长度为 `n` 的数组,选择 `k ∈ [1,n]`,将前 `k` 个元素整体翻转,后面的元素不变。要求操作后的整个数组非递减,统计满足条件的 `k` 的数量。题目链接:https://ac.nowcoder.com/acm/contest/141721/C。时间复杂度:O(nlogn)

2501_94316951的博客 170

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 82

算法61,判定是否为字符重排

两字符串能互为重排 ⇔。

sheshibenniaodan的博客 207

算法日常・每日刷题--<动态规划>32

给定严格递增的正整数数组,求最长斐波那契子序列长度。使用二维DP,dp[i][j]表示以arr[i]、arr[j]为最后两项的序列长度,初始化均为2。通过哈希表快速查找前一项target = arr[j] - arr[i],若存在且下标小于i,则状态转移:dp[i][j] = dp[k][i] + 1。遍历更新全局最大长度,最终若结果小于3则返回0。时间复杂度O(n²),空间复杂度O(n²)。

2503_92261635的博客 177
上一篇: 《五月集训》第十八日——树
下一篇: 《五月集训》第二十日——二叉搜索树
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值