logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

用栈模拟二叉树遍历:C++ 完全指南(前序、中序、后序)

本文详细讲解了使用栈结构模拟二叉树三种遍历方式(前序、中序、后序)的C++实现方法。通过比喻"记忆笔记本"解释栈的核心作用,提供完整可运行的代码示例,并比较了三种遍历的策略差异。特别针对最难的后序遍历,给出双栈法和标记法两种解决方案。文章包含数据结构定义、核心算法思路、代码实现及常见面试问题解答,帮助读者深入理解栈在树遍历中的应用本质,掌握递归与迭代的转换技巧。

二叉树层次遍历的奇幻冒险——(超级详细 + 超多对话)》

《数字王国的探险家》通过童话故事生动讲解了C++二叉树层次遍历的实现。年轻探险家小层在队列精灵帮助下,运用std::queue容器逐层遍历由TreeNode指针构成的二叉树,成功对抗迷雾女巫制造的指针陷阱。故事详细展示了层次遍历的代码实现(包括结构定义、队列操作和内存清理),并强调了空指针检查、内存管理等C++特性。最终小层获得"数据结构之钥",为后续广度优先搜索等算法学习打下

文章图片
#数据结构#算法
拥塞控制:网络世界的“智能导航系统”

拥塞控制:网络世界的“智能导航系统”你有没有遇到过这种情况: 早上高峰期,你打开视频网站,结果画面卡成“PPT”? 明明网速很快,为什么就是加载不出来?这很可能不是你的问题,也不是服务器的问题,而是网络堵车了。 就像城市道路在上下班时间会拥堵一样,网络中的数据太多,也会“堵车”。为了解决这个问题,网络世界发明了一套聪明的“导航系统”——它就是 拥塞控制(Congestion Control)。今天

#网络
[特殊字符]️ 挽救错误提交:Linux 内核开发中的“后悔药”

本文介绍了在Linux内核开发中如何优雅撤销错误提交。通过两条核心命令cd kernel进入工作目录和git revert <commit-id>创建反向提交,既修复错误又保留完整历史记录。与git reset不同,revert不会重写历史,特别适合已推送的公共分支,避免团队协作问题。文章强调专业开发者应坦然修正错误而非掩盖,这种"安全时光倒流"的方式既维护系统稳定

#git
[特殊字符] Git 文件树探秘:像查看快递仓库一样理解代码结构

摘要:本文介绍了3种在Git中查看文件结构的方法:1) git ls-files查看当前仓库文件清单;2) git ls-tree查看特定版本的文件结构;3) git show查看具体文件的历史内容。文章通过仓库比喻形象解释Git工作原理,并提供了实用命令参数和使用场景,帮助开发者快速定位Git中的文件信息。最后还给出了图形化工具建议,适合不同需求的开发者使用。

#git
[特殊字符] 嵌入式 Linux 设备树大白话指南:手把手教你“点亮”LED 灯(全网最细)

这是我们给这个引脚起的花名(别名)。意思是“LED1 的 12V 电源控制脚”。<&gpio4小区名。表示这个引脚属于第 4 组 GPIO 控制器。RK_PC6单元号。表示具体的引脚编号(第 4 组的 C 部分第 6 个脚)。开门规则。意思是“当我要点亮灯时,我会输出高电平(通常是 3.3V)”。这里的非常重要。如果你的电路设计是“低电平点亮”(共阳极接法),这里就必须写。如果灯没亮,90% 是这

#嵌入式硬件
[特殊字符] 嵌入式 Linux 设备树:像接线员一样玩转 GPIO 与 LED 配置(超详细实战版)

🔍 嵌入式Linux GPIO/LED配置精要 核心逻辑:设备树是硬件的"接线说明书",GPIO配置需明确三个关键: 引脚定义(如RK_PC4) 电平有效方式(GPIO_ACTIVE_HIGH/LOW,决定亮灭逻辑) 电气属性(上拉/下拉/浮空) LED配置要点: 若LED负极接GPIO,正极接电源→用ACTIVE_LOW(输出低电平时亮) 电源管理需注意互斥(如12V/5V

#嵌入式硬件
C++对象访问与多态机制深度解析:从指针到多态的完整图景

《C++对象访问与多态机制深度解析》揭示了C++底层对象模型的核心原理:1. 对象本质上是一块连续内存,通过指针访问成员实际上是通过地址偏移实现;2. 父类指针访问子类对象时,虚函数通过虚函数表(vtable)实现动态绑定,非虚函数则静态绑定到父类版本;3. 成员变量访问遵循类型安全原则,父类指针只能访问继承部分。文章还提出了多态设计的最佳实践,包括优先使用虚函数、智能指针等。这些原理共同构成了&

#c++
深入理解C/C++指针传递:何时以及如何改变外部指针

本文深入解析了C/C++中指针传递的核心机制,重点探讨了何时以及如何改变外部指针。文章指出,函数参数本质是值传递,因此要改变指针本身需要使用二级指针或指针引用(C++)。通过代码示例演示了动态内存分配、链表操作等常见场景的正确实现方式,对比了三种修改指针的方法(二级指针、指针引用和返回指针)的优缺点。最后给出了最佳实践建议,强调明确修改意图、优先使用引用、防范内存泄漏等要点。掌握这些技巧能帮助开发

C++中介者模式实战:解耦对象交互的艺术

定义:中介者模式用一个中介对象来封装一系列对象之间的交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,并且可以独立地改变它们之间的交互。中介者模式是解决对象间复杂交互的利器。它通过引入一个“协调者”,将对象间的网状通信转化为星型结构,从而实现松耦合、高内聚的设计。在 C++ 中,结合现代 C++ 特性(如智能指针、lambda、并发支持),我们可以实现更安全、更高效的中介者模式。无论是在

#设计模式#中介者模式
    共 38 条
  • 1
  • 2
  • 3
  • 4
  • 请选择