自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从0到1手写最简操作系统:仅512字节,开机显示专属问候

这段代码看似多,其实核心就3部分:初始化环境:让CPU能正确寻址,设置栈空间;显示字符串:调用BIOS中断int 0x10,不用自己操作显卡寄存器,这是最简实现的关键;凑够512字节+结束标志:满足MBR的硬件规范,让BIOS能识别并执行。很多人觉得操作系统遥不可及,但通过这次实践能发现:核心原理其实很简单——操作系统就是硬件的“管理者”,而最简系统只是一段能被BIOS识别、执行的底层代码。从512字节的MBR到百万行代码的Linux,本质上都是“逐步叠加功能”的过程。

2026-01-18 18:50:13 707

原创 从0到1开始快速学会Linux系统命令行

在学习Linux操作系统的过程中,学习Linux系统命令行是学习Linux系统编程的一个重要的内容,对于 Linux 新手来说,命令行看似晦涩难懂,但只要掌握三步法,就能在短时间内从入门到上手。本文专为零基础用户设计,不讲复杂原理,只教最实用的操作,帮你快速打通 Linux 命令行的任督二脉。

2026-01-14 17:50:02 847

原创 C++智能指针核心用法:一篇文章搞懂自动内存管理

本文介绍了C++智能指针的核心概念和使用方法。首先阐述了手动管理内存的弊端,引出智能指针通过RAII机制自动管理内存的优势。重点讲解了三种智能指针:unique_ptr(独占所有权)、shared_ptr(共享所有权)和weak_ptr(解决循环引用),分别说明其特性、适用场景和典型用法。文章还提供了智能指针的使用避坑指南,强调要优先使用make_unique/make_shared、避免混用原始指针等注意事项。最后总结指出,智能指针能有效解决内存泄漏问题,应根据不同场景选择合适的智能指针类型。

2026-01-13 18:36:13 892

原创 千字解析操作系统之文件系统

本文系统介绍了操作系统文件管理的核心内容,包括文件命名规则、文件结构和目录管理。在文件命名方面,详细对比了Windows与Linux/macOS的差异,分析了大小写敏感性、字符限制等关键规则。文件结构部分阐述了逻辑结构(流式/记录式文件)和物理结构(连续/链接/索引分配)的设计原理及适用场景。目录管理章节解析了目录项结构、树形目录组织方式及核心操作。全文揭示了文件系统如何高效组织存储介质上的数据,为理解操作系统底层机制提供了系统视角。

2026-01-12 18:34:00 825

原创 C++关联容器概述

关联容器是 C++ 标准模板库(STL)中一类核心容器,与顺序容器(如vectorlist)最大的区别在于:它不以元素的存储位置(下标)作为访问依据,而是通过「键(Key)」与「值(Value)」的关联关系来管理和访问数据。这种设计让关联容器在「查找、插入、删除」等操作上具备更高的效率,是处理映射、去重、快速检索类问题的首选工具。关联容器的核心是「键值关联」,通过键实现高效查找,分为有序(红黑树)和无序(哈希表)两大类;map/set是最常用的关联容器,分别对应 “键值对映射” 和 “唯一键集合”,

2026-01-10 18:33:25 1080

原创 操作系统之内存管理

的发展趋势是从“连续分配”到“离散分配”,从“物理内存限制”到“虚拟内存扩充”,核心始终是在“资源利用率”“系统性能”“用户便捷性”之间寻求最优平衡。理解内存管理的核心逻辑与关键技术,是掌握操作系统工作原理的核心环节。文章如有错误欢迎私信我,我会及时解决,如果我的内容对你有帮助和启发,请。你们的支持就是我更新最大的动力,那么我们下期再见!随着系统复杂度提升,现代操作系统普遍采用。

2026-01-09 18:53:41 1266

原创 操作系统之死锁概述

本文系统阐述了操作系统中的死锁问题。首先通过哲学家就餐问题生动解释了死锁概念,指出死锁的四个必要条件:互斥、请求与保持、不可抢占和环路等待。然后详细介绍了三种解决方案:死锁预防(破坏必要条件)、死锁避免(银行家算法)和死锁检测与恢复(资源剥夺/进程撤销)。文章还探讨了当前死锁研究的主要方向,包括死锁检测、避免及分布式死锁处理。最后强调死锁是操作系统普遍存在的潜在问题,需要根据系统特点选择合适的处理策略。

2026-01-07 18:30:23 689

原创 泛型算法概述

摘要:本文介绍了C++标准库中的泛型算法,包括其基本概念和常见用法。泛型算法通过迭代器操作容器元素,实现了排序、搜索等经典算法接口。重点讲解了count/count_if统计元素个数的方法,accumulate求和算法,以及copy拷贝算法。这些算法定义在algorithm和numeric头文件中,通过迭代器间接操作容器元素,提高了代码的通用性和复用性。文章通过示例代码展示了各算法的具体应用,并强调泛型算法不直接操作容器的特性。

2026-01-05 19:08:27 1155

原创 进程与线程概述

现代的CPU主要是以多核CPU为主,在这样的结构下,多线程的使用显而易见是有益的。进程的创建一般是通过系统调用来实现的,以linux操作系统为例,其创建进程的系统调用为fork(),那么我们要思考一个问题:在什么情况下会进行创建进程,一般来说,主要的创建进程的情况有三种,分别为:1.系统初始化,即在启动操作系统的时候会创建进程,2.正在运行的程序执行了创建进程的系统调用,一个正在运行的程序能够利用系统调用来创建一个进程,3.用户请求创建一个新进程,当一个用户想要启动一个新进程的时候会进行进程的创建。

2026-01-03 18:38:27 1145

原创 容器的适配器

今天是2025的最后一天,我又来更新文章了,过了今晚,明天就是2026年了,提前祝大家新年快乐。今天要讲的主要内容是容器的适配器。总之容器的适配器是基于现有容器(如:vector、deque、list)的“包装器“,其复用底层容器的接口来完成对应的任务,在特定的场景和项目中具有较大作用。你们的支持就是我更新最大的动力,那么我们下期再见!

2025-12-31 19:29:07 608

原创 C++顺序容器概述

你们的支持就是我更新最大的动力,那么我们下期再见!

2025-12-26 18:55:51 416

原创 树形动态规划

本文介绍了树形动态规划的基本概念和应用。文章以"没有上司的舞会"问题为例,详细分析了树形动态规划的解题思路:通过构建树结构表示上下级关系,定义状态dp[u][0/1]表示职员u是否参加舞会的最大快乐值,推导出状态转移方程。采用深度优先遍历(DFS)进行求解,并给出了完整的C++实现代码。该问题展示了树形动态规划将树结构与动态规划相结合的典型解法,强调了先推导状态转移方程、再构建树结构进行求解的基本思路。

2025-12-25 15:51:06 517

原创 区间动态规划

我们首先分析题目,由于石子的是以环的方法排列的,因此需要对输入的数据进行处理,使之具有环的特性,int N,代表要输入的数据的个数,int dpmin[i][j]和dpmax[i][j]分别表示从i到j的区间内合并石子所获得的最大得分,int a[]数组表示存储的石子的分数,此时由于此石子是环形排列,需要对其转换成线性排列,则int arr[]存储用于将其转换成线性排列,具体转换方法为arr[i]=a[i%N];最后得到真正的线性存储石子的得分,将环形问题的石子合并问题转换为经典的线性石子合并问题。

2025-12-19 12:02:43 419

原创 分组背包DP

本文讲解了分组背包问题,这是01背包的变种,要求每组物品只能选一个。以洛谷P1757为例,介绍了分组背包的解法:定义物品重量、价值和组别数组,初始化dp数组后逆序遍历容量,使用动态转移方程dp[j]=max(dp[j],dp[j-weight]+value)求解。最后给出了完整代码实现,并指出分组背包与01背包的核心区别在于分组处理。文章还预告了后续将讲解区间DP问题。

2025-12-08 12:51:01 341

原创 动态规划优化:一维空间新解法

本文介绍了动态规划中采草药问题的一维优化方法。通过将二维dp数组优化为一维数组dp[j],空间复杂度从O(n²)降为O(n)。关键改进在于逆序遍历时间j,避免了重复计算子问题状态,提高了计算效率。最终给出了优化后的完整代码实现,使用max(dp[j],dp[j-t[i]]+v[i])的状态转移方程求解背包最大价值问题。

2025-11-28 13:06:33 325

原创 动态规划的01背包问题

01背包问题是动态规划的经典应用,要求在有限容量内选择物品使总价值最大。解题步骤包括:1)定义dp[i][j]表示前i个物品在j容量下的最大价值;2)初始化dp数组为0;3)建立状态转移方程,比较不选当前物品和选择当前物品的两种情况;4)根据方程求解。以采药问题为例,时间对应背包容量,草药对应物品,通过二维数组记录状态,最终输出最大价值。文章还提及一维数组优化解法,需逆序遍历防止重复选择。

2025-11-20 19:55:36 244

空空如也

空空如也

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

TA关注的人

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