- 博客(13)
- 收藏
- 关注
原创 408考研中的排序算法概览
本文系统梳理了 **408 计算机考研大纲** 中涉及的全部排序算法,涵盖 **11 种排序算法** 的原理分析、复杂度推导、稳定性讨论与 C++ 代码实现。全文以一张九大排序性能对比总表开篇,随后按 **插入排序**(直接插入、折半插入、希尔)、**交换排序**(冒泡、快速排序及其随机化变体)、**选择排序**(简单选择、堆排序)、**归并排序**(递归与迭代二路归并)、**非比较排序**(基数、计数、桶排序)五大板块逐一展开
2026-07-27 16:31:33
445
原创 前缀和--原理详解与常见变式(C/C++ 实现)
前缀和(Prefix Sum)是一种预处理技术,通过预先计算"累加和"来加速区间查询。将 O(n) 的区间求和查询优化到 O(1)以空间换时间,先遍历一次数组构造前缀和数组,之后每次查询只需一次减法广泛应用于子数组和、区间计数、矩阵求和等场景一维,区间和 =二维其变式——差分数组、环形扩展、字符串哈希——都是这一思想的延伸。熟练掌握前缀和,可以将许多 O(n) 甚至 O(n²) 的题目优化到 O(1) 查询,是算法竞赛和面试中的必备技能。
2026-06-25 11:33:28
510
原创 模运算基础与高级技巧
对于整数aaa和正整数mmmamodmramodmr其中0≤rm0≤rm,且存在唯一的整数qqqaqmra = qm + raqmr注意:在一些语言(如 C++/Java 的运算)中,负数的模运算结果可能为负数,结果范围是−m−1m−1−m−1m−1。若ax≡1modmax≡1modm,则称xxx为aaa在模mmm下的逆元,记作a−1a^{-1}a−1。存在条件。
2026-06-15 17:03:02
415
原创 0-1 背包问题理论解读与经典变种
dp[i][j]表示考虑前 i 件物品,背包容量为 j 时的最大价值。力扣 1049. 最后一块石头的重量 II0-1 背包的核心思想是状态压缩,变种题目往往需要问题转化原问题转化方式力扣题号分割等和子集和 = sum/2416目标和正数集和 = (sum+target)/2494石头重量接近 sum/2 的子集和1049一和为零前缀和相等525括号生成卡特兰数递推22掌握这些转化,就能以不变应万变。
2026-05-28 14:45:35
521
原创 动态规划(Dynamic Programming)学习指南
本文系统介绍了动态规划算法的核心概念和应用场景。主要内容包括: 动态规划基础:定义、核心要素(状态定义、转移方程、初始条件)、解题步骤和适用条件(最优子结构、重叠子问题) 线性DP:涵盖爬楼梯、打家劫舍、子序列问题等经典例题,提供状态转移方程和代码实现 背包问题:详细分类0-1背包、完全背包等变种,给出标准解法模板和LeetCode对应题目 文章采用结构化呈现方式,包含算法特征总结、复杂度分析和典型代码示例,适合作为动态规划的系统学习指南。特别强调从递归到DP的优化思路,以及不同问题类型的解法差异。
2026-05-14 16:16:29
483
原创 关于位运算的奇淫技巧
是一个非常经典且高效的位运算技巧,常被称为 Brian Kernighan 算法。它的核心作用是将一个整数 n 的二进制表示中,最右边(即最低位)的那个 1 变为 0。
2026-04-28 16:41:27
474
原创 Linux 写时复制(COW)
共享资源,延迟拷贝”。当系统需要复制一个资源(如进程的内存空间)时,它并不会立即执行真正的复制操作。相反,它会让新旧两个调用者(例如父子进程)共享同一份物理资源,并将该资源标记为“只读”。只有当其中任何一个调用者尝试修改这份资源时,内核才会真正地为修改方分配新的物理内存,并将原数据复制过去,然后才允许修改操作继续执行。简单来说,就是“能不拷贝就不拷贝,非要拷贝再拷贝”。
2026-04-24 14:53:11
332
原创 Linux 内存管理核心:反向映射(RMAP)机制
Linux 的反向映射(RMAP)机制是内存管理系统中连接“物理世界”与“虚拟世界”的桥梁。核心价值:解决了从物理页反查虚拟地址的效率瓶颈,使页面回收算法从ONO(N)ON优化为O1O(1)O1或OlogNO(\log N)OlogN。实现关键:通过anon_vma处理匿名页,通过处理文件页。现代意义:它是 THP、NUMA 平衡、KSM 等高级内存特性的基础支撑。
2026-04-23 18:10:58
908
原创 Kubernetes 网络核心:Calico 原理与实战全解析
在 Calico 出现之前,Flannel 以其简单易用占据了市场。但在大规模集群和高安全需求的场景下,Flannel 的局限性逐渐显现。高性能:在 BGP 模式下,Calico 不使用 VXLAN 等隧道封装技术,数据包直接在物理网络层路由,避免了封包/解包的开销,性能几乎等同于物理机通信。强大的网络策略:Calico 完美支持 Kubernetes NetworkPolicy,甚至提供了比原生策略更丰富的功能(如全局策略、命名空间隔离),能像防火墙一样精细控制 Pod 间的流量。可扩展性。
2026-04-23 18:10:08
371
原创 大模型训练显存计算
在大模型训练和推理过程中,显存(GPU内存)的使用是一个关键问题。显存不足可能导致训练中断或推理失败,因此准确估算显存需求至关重要。本文将结合 batch_size(上下文长度)、num_epochs(训练轮数)、lora_rank(LoRA参数秩)、target_modules(目标模块)、load_in_4bit(量化加载)等参数,分析显存计算的主要组成部分。
2026-04-14 15:04:37
643
原创 [图论模板]图论算法题中一些常见模板
如果在 DFS 过程中遇到了一个状态为“访问中”的节点,说明存在一条后向边,即图中存在环。这套逻辑专门用于解决“寻找图的中心”或“分层处理依赖”这类问题。这个方法本质上是 Kahn 算法(拓扑排序) 的一个变种。-像水波纹一样,一圈一圈向外扩散。什么是“剥洋葱法”?
2026-04-09 17:11:23
1664
基于PCA+线性回归的房价
2023-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅