【算法通关指南:数据结构与算法篇】二叉树相关算法题:1.美国血统 American Heritage 2.二叉树问题

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

文章目录


前言

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

一、美国血统 American Heritage

1.1题目

链接:美国血统 American Heritage

在这里插入图片描述

1.2 算法原理

解法同《求先序序列》,先手动动模拟一下,然后找出「相同子问题」,「递归」求解。
步骤:
(1)先处理左右子树
(2)找根节点
(3)划分左右子树

1.3代码

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

二、 二叉树问题

2.1题目

链接:二叉树问题

在这里插入图片描述

2.2 算法原理

深度: 递归。
宽度: 宽搜。
最近公共祖先: 两点之间的距离:通过向上不断找父亲结点。第⼀个重叠的位置,就是两者的最近公共祖先。可以一边寻找,一边计算结果。

2.3代码

//二叉树问题 #include <iostream> #include <vector> #include <queue> using namespace std; const int N =110; vector<int> tree[N]; int fa[N];//f[i]:i的父亲节点 int dest[N];//dest[i]:x到i经历的节点个数// 深度 int dfs(int u){ int ret =0;for(auto v : tree[u]) ret =max(ret,dfs(v));return ret +1;}// 宽度 int bfs(){ queue<int> q; q.push(1); int ret =0;while(q.size()){ int sz = q.size(); ret =max(ret, sz);while(sz--){ auto x = q.front(); q.pop();for(auto v : tree[x]) q.push(v);}}return ret;} int main(){ int n; cin >> n;for(int i =1; i < n; i++){ int u, v; cin >> u >> v; tree[u].push_back(v); fa[v]= u;}//深度 cout <<dfs(1)<< endl;//宽度 cout <<bfs()<< endl;//距离 int x, y; cin >> x >> y;while(x !=1){ dest[fa[x]]= dest[x]+1; x = fa[x];} int len =0;while(y !=1&& dest[y]==0){ y = fa[y]; len++;} cout <<2* dest[y]+ len << endl;return0;}

总结与每日励志

✨本章通过两道经典二叉树算法题,带你巩固递归、深搜、宽搜等核心思想。从美国血统的遍历重建,到二叉树深度、宽度与公共祖先求解,每道题都在训练分治思维与代码实现能力。算法之路无捷径,坚持刷题、理清思路、动手实现,能力便会稳步提升。保持热爱,脚踏实地,每一行代码、每一次思考,都在为更强的自己铺路,永远相信美好的事情即将发生。

在这里插入图片描述

Read more

AI实践(7)工具函数调用

AI实践(7)工具函数调用

AI实践(8)工具函数调用 Author: Once Day Date: 2026年3月2日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: AI实践成长_Once-Day的博客-ZEEKLOG博客 参考文章:Prompt Engineering Guide提示词技巧 – Claude 中文 - Claude AI 开发技术社区Prompting strategies for financial analysis | ClaudeDocumentation - Claude API DocsOpenAI for developers在LLM中调用函数 | Prompt Engineering GuideAI大模型Function Call技术教程:从入门到精通-ZEEKLOG博客详解 OpenAI 函数调用(Function Calling):让模型具备数据获取与行动能力 - 大A就是我 -

By Ne0inhk

彻底解放AI生产力!OpenClaw + Ollama本地部署终极指南

彻底解放AI生产力!OpenClaw + Ollama本地部署终极指南 还在为天价API费用发愁?受够了网络波动导致AI服务中断?今天,零度带你解锁真正100%本地运行的AI助手解决方案!只需跟着以下步骤操作,你的电脑将变身全能AI工作站,完全免费、断网可用、多模型自由切换! 🔥 为什么选择本地部署? 三大核心优势让你无法拒绝: * 零费用:无需任何API Key,彻底告别按token计费 * 断网可用:飞机上、地下室、偏远山区照样畅快使用 * 模型自由:一键切换GPT-OSS、Qwen 3、GLM 4.7等顶尖模型 🛠️ 五分钟部署全流程 第一步:环境准备 以管理员身份打开PowerShell,依次执行: winget install git.git 若出现权限错误,追加执行: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

By Ne0inhk
从新加坡《Companion Guide on Securing AI Systems 》看可信AI全生命周期防护框架构建

从新加坡《Companion Guide on Securing AI Systems 》看可信AI全生命周期防护框架构建

从新加坡《AI系统安全指南配套手册》看可信AI全生命周期防护框架构建 一、引言 1.1 研究背景与意义 近年来,人工智能(AI)技术以前所未有的速度蓬勃发展,已然成为推动各行业变革与创新的核心驱动力。从医疗领域辅助疾病诊断,到金融行业的风险预测与智能投顾,再到交通领域的自动驾驶技术,AI 的身影无处不在,为社会发展带来了巨大的效益 。据国际数据公司(IDC)预测,全球 AI 市场规模在未来几年将持续保持高速增长态势,到 2025 年有望突破千亿美元大关。 然而,随着 AI 技术的广泛应用,其安全问题也逐渐浮出水面,成为制约 AI 健康发展的关键因素。AI 系统面临着来自传统网络安全威胁以及 AI 技术特有的新兴安全挑战。在传统网络安全威胁方面,诸如网络钓鱼、DDoS 攻击、恶意软件入侵等问题屡见不鲜,这些攻击手段不仅会破坏 AI 系统的正常运行,还可能导致数据泄露、隐私侵犯等严重后果。

By Ne0inhk
告别截图!Antigravity 集成 Figma MCP 打造像素级还原的 AI 编程体验

告别截图!Antigravity 集成 Figma MCP 打造像素级还原的 AI 编程体验

🚀 告别截图!Antigravity 集成 Figma MCP 打造像素级还原的 AI 编程体验 作为开发者,你是不是经常截图发给 AI 让它写 CSS,结果写出来的效果总是“差强人意”?👀 间距不对、颜色有色差、字体搞错…… 今天我们要玩点高端的!利用 MCP (Model Context Protocol) 协议,将 Figma 的底层设计数据直接“喂”给 Antigravity。让 AI 不再是“看图说话”,而是直接读取设计原稿!🎨➡️💻 🌟 什么是 Figma Context MCP? 这是一个由 Framelink 开发的 MCP 服务。它能让你的 AI 编辑器(如 Antigravity,

By Ne0inhk