- 博客(5)
- 收藏
- 关注
原创 KMP算法
KMP算法是由Knuth、Morris和Pratt三位学者发明的字符串匹配算法,其核心是前缀表(next数组)。该表记录模式串中各位置的最长相同前后缀长度,用于匹配失败时确定子串回退位置。计算前缀表时,逐个比较前后缀字符,匹配则长度加1,不匹配则回退到前一个匹配点。使用next数组可避免主串回溯,将时间复杂度优化至O(M+N)。算法通过动态规划思想构建next数组,利用已知匹配信息减少重复比较,显著提升匹配效率。
2025-11-22 15:39:24
829
原创 使用MacOS配置MIT6.S081的环境
摘要:在MacOS上运行XV6实验时,2020版本存在较多问题,包括环境配置复杂、路径查找困难以及运行时报错,最终无法进入内核。切换到2022版本后问题有所改善,但仍需修改user/usertests.c中的代码才能成功运行。建议直接使用2022版本进行实验,并注意环境配置和代码调试。
2025-11-02 15:27:52
226
原创 C++底层内存机制——栈和堆详细解析
因为很多同学对内存的使用是很困惑的,不知道什么是栈空间什么是堆空间,也不知道变量在内存里的具体分配是什么样子的,这个文章主要是来解释两种内存的区别的——栈上是从上到下按照顺序来的,堆是随机的根据内存大小来进行的(这一部分的底层实现和原理要涉及计算机组成原理和汇编语言,实在不等可以等以后就知道了)在我们进行空间的申请的时候,栈和堆的申请逻辑是不一样的,栈是根据顺序来进行申请的,因此我们才不需要用指针来进行指向,但是堆是去空余空间的表里面进行空间的查找,找到了就进行分配。
2025-10-09 21:01:09
326
原创 C语言快速入门笔记
重点阐述了C语言的基本程序结构、编译运行环境配置方法,以及数据类型分类(基本类型、枚举、void和派生类型),特别说明了整数类型在不同平台下的差异和浮点类型的标准规范。最后提及void类型在函数返回、参数传递和指针应用中的关键作用。
2025-10-09 20:49:47
489
原创 IA-32笔记
本文主要介绍了x86汇编语言的基础知识和核心概念。文章首先概述了汇编语言的应用场景和计算机体系结构基础,包括数据表示、布尔运算和x86处理器的工作模式。随后详细讲解了汇编语言的基础语法,包括数据类型定义、符号常量、宏指令和程序结构。文章重点介绍了x86的核心指令集,包括数据传输、算术运算、位操作和控制流指令,并提供了大量示例代码说明各指令的使用方法。此外,还涵盖了高级编程主题如过程调用、字符串操作、结构体定义等,以及系统编程和混合语言编程接口。最后,文章介绍了汇编开发环境的配置方法,并提供了多个实用程序实例
2025-08-21 17:09:57
921
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅