摘要: 一、欧几里得算法 其实就是辗转相除法求最大公约数gcd 定理: gcd(a, b) = gcd(b, a%b),其中a%b != 0,gcd(a, b)表示a与b的最大公约数 // 1. int get_gcd(int a, int b) { if (b == 0) return a; else r 阅读全文
posted @ 2026-04-20 15:35 myLv 阅读(15) 评论(0) 推荐(0)
摘要: 一、 使用头文件 #include <chrono> 这是C++中精度最高的计时方式 #include <iostream> #include <chrono> int main() { // 记录开始时间 auto start = std::chrono::high_resolution_cloc 阅读全文
posted @ 2026-04-20 15:35 myLv 阅读(20) 评论(0) 推荐(0)
摘要: 一、介绍 通过把 关键码值key映射到表中一个位置(数组的下标) 来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表,即哈希表。哈希表是一种典型的“以空间换时间”的做法。 键(key): 组员的编号 值(value): 组员的其他信息(值大小、姓名、年龄等) 索引: 数 阅读全文
posted @ 2026-04-20 15:35 myLv 阅读(8) 评论(0) 推荐(0)
摘要: 一、什么是KMP算法? KMP算法(Knuth-Morris-Pratt算法)是一种高效的字符串匹配算法,用于在一个文本串中查找模式串的出现位置。 核心思想: KMP算法通过预处理模式串,构建一个"部分匹配表"(也称为next数组或failure function),当匹配失败时,利用这个表跳过不必 阅读全文
posted @ 2026-04-20 15:35 myLv 阅读(17) 评论(0) 推荐(0)
摘要: 命令行通讯录: 1、功能:添加联系人(姓名/电话号码(9位数)/邮箱)、移除、查询、修改、显示所有联系人、保存到本地文本文件/从文件加载 2、训练重点:结构体/类的封装、vector存储自定义对象、map<string, 结构体>快速查询、文件流(fstream)的读写、函数分模块实现(增删改查各写 阅读全文
posted @ 2026-04-20 15:35 myLv 阅读(9) 评论(0) 推荐(0)
摘要: 一、位的介绍 有符号数是指有正负性的,无符号数是从0开始加的。有符号数中,第一位是用来表示正负的,1为负、0为正,负数个数比正数个数多一,最经典的就是int的上下界(-2^31 到 2^31 - 1),正负数间的转换就是反码、补码: 负-->正:~n + 1 正-->负:~n + 1 例如:17 < 阅读全文
posted @ 2026-04-20 15:35 myLv 阅读(7) 评论(0) 推荐(0)