自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 经典排序算法总结(包括快速排序,堆排序)

本文总结了九种经典排序算法的核心思路、代码实现和特性分析。主要包括:直接插入排序、冒泡排序(优化版)、简单选择排序、希尔排序、快速排序、堆排序、归并排序、计数排序和基数排序。每种算法从时间复杂度、空间复杂度、稳定性和初始序列相关性等方面进行对比,并给出典型应用场景(如力扣215题可用快速选择或堆排序解决)。文章特别强调开发中常用算法(如TopK问题、逆序对统计)的实现要点,要求掌握快速排序、堆排序和归并排序的手写能力,理解不同算法的时间复杂度差异及适用场景。

2026-04-27 18:30:34 719

原创 软件测试核心知识点梳理(包括黑盒测试,白盒测试,抽卡,通行证测试用例等)

本文系统介绍了软件测试中的黑盒与白盒测试方法、测试用例设计、测试报告撰写等核心内容。黑盒测试关注外部功能,白盒测试验证内部逻辑,二者相辅相成。详细讲解了登录、抽卡、通行证等典型功能的测试用例设计要点,包括边界值、异常场景、性能安全等测试维度。同时阐述了测试流程规范,强调从需求分析到回归验证的全流程质量保障。文章还对比了游戏测试与传统软件测试的差异,突出了游戏在用户体验、网络同步等方面的特殊测试要求。通过丰富的案例,展现了如何系统化地进行功能验证与缺陷管理。

2026-04-24 10:55:51 827

原创 Linux GDB 调试实战:Core Dump 与多线程

本文详细介绍了Linux环境下使用CoreDump和GDB调试程序的核心技术。主要内容包括:1) CoreDump调试方法,通过ulimit设置生成崩溃转储文件,使用GDB分析core文件定位段错误;2) 多线程程序调试技巧,包括查看线程信息、切换线程上下文、设置线程调度锁等;3) 常见面试问题解答,如如何调试段错误和多线程程序。文章通过具体代码示例演示了从生成core文件到GDB分析的全过程,并提供了多线程调试的实用命令,是Linux开发人员必备的调试技术指南。

2026-04-18 15:37:07 746

原创 C++11智能指针详细解析及面试题

本文详细解析C++智能指针的三大核心组件(unique_ptr、shared_ptr、weak_ptr)及其内存管理机制。智能指针基于RAII原则,通过对象生命周期自动管理资源释放,有效解决原始指针常见的内存泄漏、野指针等问题。unique_ptr实现独占所有权,shared_ptr通过引用计数实现共享所有权,weak_ptr则辅助解决循环引用问题。文章深入剖析了智能指针的实现原理、使用场景及最佳实践,包括make_shared/make_unique的优势、自定义删

2026-04-16 20:55:27 803

原创 C++ 项目部署教程(标准生产环境架构:本地编译 + Jenkins云端部署)

本文围绕64 位 MS 环境下标准 C/C++ 工程的一键部署与替代方案展开,提供完整工程结构、编译配置、服务托管与端口占用清理流程,可实现多版本平滑替代。文中给出通用托管脚本与一键部署脚本,支持服务安装、版本更新、端口释放、目录清空等操作,适用于64 位 MS 环境下 C/C++ 工程的标准化、自动化部署,可直接用于生产环境,降低运维成本,提升交付效率。

2026-04-11 20:57:19 630

原创 C++ 网络编程项目量化:Valgrind 内存检测与 wrk 压测实战

摘要:本文介绍了C++网络编程中tinyWebServer等项目的性能优化方法。重点讲解Valgrind内存检测工具的使用,包括安装、参数配置和常见内存问题分析;以及wrk压测工具的多线程压测方法,包括安装、参数说明和结果解读。通过量化测试指标(如QPS、延迟等)来提升项目简历的含金量,并对比了不同测试工具的特点,帮助开发者构建高性能、稳定的HTTP服务器。

2026-04-10 16:05:29 447

原创 Claude 安装实操教程与 AI Agent 基础概念

本文为作者结合自身实操与B站学习笔记整理的Claude使用教程及AI Agent术语科普,使用前需准备魔法上网。文中详细介绍Win11系统下通过命令行下载、登录Claude的方法,讲解模式切换、文件操作、回滚、Figma设计稿还原、上下文管理等实用功能,还涵盖Hook、Agent Skill、SubAgent、Plugin等高级配置技巧。同时系统解释LLM、Token、Context Window、RAG、Prompt、Tool、MCP、Agent等AI Agent核心术语,清晰说明各概念含义与应用逻辑,兼

2026-04-09 09:45:23 1828 1

原创 力扣142.环形链表 II

摘要:本文介绍了检测链表环的两种解法。哈希表法利用集合存储节点地址,通过重复检测判断环入口,空间复杂度O(n)。更优的快慢指针法空间复杂度O(1):1)快指针(2步/次)与慢指针(1步/次)相遇判断有环;2)推导证明a=c(头到入口距离=相遇点到入口距离);3)相遇后将快指针重置到头部,两指针同速前进,再次相遇点即为环入口。最终给出C++实现代码,时间复杂度O(n)。

2026-03-09 13:48:55 986

原创 力扣24.两两交换链表中的节点

本文介绍了链表两两交换节点的算法实现。通过添加虚拟头节点简化操作,使用三个指针(cur、temp1、temp2)完成节点交换,确保不断链。算法处理奇数和偶数长度链表时,分别以cur->next->next=nullptr和cur->next=nullptr为终止条件。时间复杂度O(n),空间复杂度O(1)。代码示例展示了具体实现过程,包括指针操作和边界条件处理。

2026-03-08 09:28:00 3052

原创 力扣707.设计链表

本文介绍了单链表的基本操作实现,包括初始化、插入(头插、尾插、指定位置插入)、获取节点值和删除节点。使用虚拟头结点简化操作,详细讲解了每个方法的实现逻辑和时间复杂度。头插法时间复杂度为O(1),其他操作多为O(n)。文章提供了完整的C++代码实现,涵盖链表增删查改的基本功能,并强调了边界条件处理和内存管理的重要性。

2026-03-06 17:35:06 575

原创 力扣59.螺旋矩阵||

初看这道题,我立刻想到了深度优先搜索(DFS)的思路:有明确的方向,在规定的边界内上下左右移动,并且每个元素只能遍历一次。带着这样的想法写完后,我发现它和官方题解的思路很像,也算是一种大众解法。我们可以通过偏移量来控制上下左右的移动,这通常用一个数组来表示,可以是二维数组,也可以是一维数组,原理是相同的。这是一道非常经典的模拟算法题,解题方法多样,新手第一次写很容易在边界处理上绕来绕去。我分享一种我自己习惯的解法,代码简洁,也更容易理解。的坐标,走到下一步,继续填充下一个数字。最后,根据当前的方向,更新。

2026-03-05 21:09:51 367

原创 力扣209.长度最小的子数组

摘要:本文介绍了一个经典的滑动窗口算法题,要求在数组中寻找总和≥target的最短子数组。解题思路采用固定右边界、动态收缩左边界的滑动窗口方法:初始化结果变量和累加和;通过for循环扩展右边界并累加元素;当满足条件时,用while循环收缩左边界并更新最小长度;最终判断是否存在有效解。算法时间复杂度为O(n),关键在于正确处理边界条件和区间定义(左闭右闭区间),特别注意持续收缩时需用while循环而非if判断。

2026-03-05 20:45:29 266

原创 力扣27.移除元素

摘要:本文介绍了一种使用双指针算法原地移除数组中特定值的方法。通过设置快慢指针(left和right),当快指针遇到不等于目标值的元素时,将其复制到慢指针位置并移动两个指针;遇到目标值则仅移动快指针。这种方法能在O(n)时间复杂度内完成操作,只需遍历数组一次,最终返回的有效元素数量即为慢指针的位置。相比erase操作,该算法更高效地实现了数组元素的原地修改。

2026-03-04 16:30:28 305

原创 力扣704.二分查找

本文简要解析了二分查找算法的实现要点。算法使用左右指针l和r,通过while循环比较中间值mid与目标值target,根据数组升序特性调整指针位置:当nums[mid]>=target时右移r,否则左移l。循环结束后检查nums[r]是否等于target即可确定查找结果。解析着重说明了指针移动的逻辑和循环终止条件,体现了二分查找的高效性。

2026-03-04 15:25:47 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除