【算法通关指南:数据结构与算法篇】二叉树相关算法题:1.二叉树深度 2.求先序排列

【算法通关指南:数据结构与算法篇】二叉树相关算法题:1.二叉树深度 2.求先序排列
在这里插入图片描述
🔥小龙报:个人主页
🎬作者简介:C++研发,嵌入式,机器人方向学习者
❄️个人专栏:《算法通关指南》
永远相信美好的事情即将发生
在这里插入图片描述

文章目录

前言

本专栏聚焦算法题实战,系统讲解算法模块:以《c++编程》,《数据结构和算法》《基础算法》《算法实战》 等几个板块以题带点,讲解思路与代码实现,帮助大家快速提升代码能力ps:本章节题目分两部分,比较基础笔者只附上代码供大家参考,其他的笔者会附上自己的思考和讲解,希望和大家一起努力见证自己的算法成长

一、二叉树深度

2.1题目

链接:二叉树深度

在这里插入图片描述

2.2 算法原理

二叉树的高度 = 1 + max(左子树的高度,右子树的高度);因此,可以递归解决。

2.3代码

#include <iostream> using namespace std; const int N =1e6+10; int l[N], r[N]; int dfs(int root){if(!root)return0;returnmax(dfs(l[root]),dfs(r[root]))+1;} int main(){ int n; cin >> n;for(int i =1; i <= n; i++) cin >> l[i]>> r[i]; cout <<dfs(1)<< endl;return0;}

二、 求先序排列

3.1题目

链接:求先序排列

在这里插入图片描述

3.2 算法原理

在这里插入图片描述


处理「左右字树」的方式与处理「原始序列」的方式一致,这样我们就可以用「递归」的方式求出先序序列
注: 如何进行区间定位

在这里插入图片描述

3.3代码

#include <iostream> using namespace std; string a, b; void dfs(int l1, int r1, int l2, int r2){//递归出口if(r1 < l1)return;//确立根节点 cout << b[r2];//寻找中序序列中的根节点划分左右子树 int p = l1;while(a[p]!= b[r2]) p++;//递归处理左右子树dfs(l1, p -1, l2, l2 + p - l1 -1);dfs(p +1, r1, l2 + p - l1, r2 -1);} int main(){ cin >> a >> b;dfs(0, a.size()-1,0, b.size()-1);return0;}

总结与每日励志

✨本次我们练习了二叉树深度和先序排列两道基础题,核心均运用递归思想:前者通过递归求左右子树高度取最大值加一得出结果,后者利用中序与后序序列定位根节点,递归处理左右子树完成先序输出。算法学习没有捷径,每一道题的积累都是成长的阶梯。永远相信美好的事情即将发生,坚持刷题、沉淀思路,终会突破瓶颈,在算法之路上稳步前行,不负每一份努力与热爱!

在这里插入图片描述

Read more

Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测

Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测

1.引言 随着大模型在各类智能应用中的广泛应用,高效的推理硬件成为关键瓶颈。昇腾 NPU(Ascend Neural Processing Unit)凭借其高算力、低能耗以及对 SGLang 的深度优化,能够显著提升大模型推理性能。本文以 Llama 3-8B-Instruct 为例,通过在昇腾 NPU 上的实测,展示其在吞吐量、延迟和资源利用方面的优势,并探索可行的优化策略,为开发者在今后的开发中提供可参考的案例。 在本篇文章中我们会使用到Gitcode的Notebook来进行实战,GitCode Notebook 提供了开箱即用的云端开发环境,支持 Python、SGLang 及昇腾 NPU 相关依赖,无需本地复杂环境配置即可直接运行代码和进行实验。对于没有硬件平台的小伙伴来说是非常便利的。 GitCode Notebook使用链接:https://gitcode.com/user/m0_49476241/notebook。 2.实验环境与准备 2.

By Ne0inhk
AI绘画建筑设计提示词:从基础到高级的完整创作指南

AI绘画建筑设计提示词:从基础到高级的完整创作指南

一、核心逻辑:高质量建筑提示词的 7 大组成部分 AI 对建筑的理解需要 “分层引导”,一个完整的提示词通常包含 7 个关键模块,你可根据需求灵活组合或删减,基础逻辑为:先明确 “画什么”,再定义 “怎么画”,最后优化 “画得好”。具体结构如下: [主体/建筑类型] + [风格/建筑师参考] + [环境/场景设定] + [细节与材质] + [构图与视角] + [灯光与氛围] + [画质/技术参数] 这一结构能让 AI 清晰捕捉设计核心,避免因信息模糊导致的 “偏离预期”,是高效创作的基础框架。 二、分模块详解:建筑提示词词汇库与应用技巧 1. 主体 / 建筑类型:明确 “画什么” 的核心 这是提示词的 “根基”,需精准定义建筑的功能与形态,避免笼统表述。

By Ne0inhk
AIGC浪潮下,风靡全球的Mcp到底是什么?一文讲懂,技术小白都知道!!

AIGC浪潮下,风靡全球的Mcp到底是什么?一文讲懂,技术小白都知道!!

个人主页-爱因斯晨 文章专栏-AIGC   长大好多烦恼,好愁! 目录   前言 初步了解 Mcp到底是个啥? 发展 理论基础 核心组件 使用逻辑 于传统API不同之处 模型推荐   前言 上年这个时候,刚拿到录取通知书。哥哥教我用ai智能体,其实就是向我炫技。当时我问他,为什么不能直接给我生成图表,直接给我生成多好,省得我再去复制了。他说,其实很简单,只要做个接口协议什么的就行,只是目前国内没人做。当时说的很高深,我也听不懂。没想到年底,这个功能就实现内测了。在某种程度上,我也算是预言了哈哈。 初步了解 Mcp到底是个啥? Mcp,全称 Model Context Protocol,翻译过来是模型上下文协议。你不用管这高大上的名字,简单说,它就是和大 AI 模型聊天时,一种把相关信息整理好、按规矩传给 AI 的方式。

By Ne0inhk