跳转至

算法

C 语言无穷级数逼近:单循环与双重循环

两个 C 程序以不同循环结构计算同一无穷级数的部分和。双重循环版本每次从头累乘,时间复杂度 O(n²);单循环版本利用递推关系,时间复杂度 O(n)。两者结果一致,但运行效率差异显著。

C 语言 KMP 字符串匹配

一段 KMP 算法的 C 实现,在 "ababcabcacbab" 中查找 "abcac"。代码逻辑正确,但存在一个严重性能问题和一个硬编码隐患。

C++ 原生实现 MD5 哈希算法

一段不使用外部库的 MD5 实现。代码涵盖了填充、分块、四轮 64 步压缩以及小端序输出等完整流程。逻辑基本正确,但存在一处内存泄漏和若干类型安全问题。

C++ 矩阵运算类

一个完整的 C++ 矩阵类实现,包含构造/拷贝/析构、运算符重载、转置、行列式、伴随矩阵、求逆、高斯消元、QR 分解、特征值与特征向量等功能。代码体量较大但存在多处逻辑错误。

C++ 欧拉线性筛求素数

一段欧拉筛(线性筛)的实现,在筛选 2~n 之间素数的同时记录每个数的最小质因子。时间复杂度 O(n),是已知最快的素数筛法之一。