GESP五级必看
2026-03-19 18:35:18
发布于:浙江
一、初等数论
初等数论是GESP五级考试中的重要考点之一,主要包括素数与合数、最大公约数与最小公倍数、同余与模运算、约数与倍数、质因数分解、奇偶性等内容。
-
素数与合数
素数是大于1的自然数,只能被1和自身整除;合数是能被其他数整除的数。判断素数的方法有试除法和线性筛法等。 -
最大公约数与最小公倍数
最大公约数(GCD)和最小公倍数(LCM)是数论中的基本概念。欧几里得算法(辗转相除法)是求解GCD的高效方法。(我更倾向于使用__gcd()和__lcm()) -
同余与模运算
同余是指两个数对模m的余数相同,模运算在密码学、哈希算法等领域有广泛应用。 -
质因数分解
质因数分解是将一个正整数表示为若干个质数的乘积。唯一分解定理指出每个大于1的整数都可以唯一地表示为质数的乘积。
二、高精度计算
在C++中,当整数超出普通数据类型的范围时,需要使用高精度计算。高精度计算通常通过数组模拟实现。(有些时候用int_128也不是不行)
-
数组模拟高精度加法
高精度加法的思路类似于手工加法,从个位开始逐位相加,并处理进位。数组中存储数字时,通常将个位放在数组下标为0的位置。 -
数组模拟高精度乘法
高精度乘法通过模拟手工乘法实现,即将一个大数的每一位与另一个大数的每一位相乘,然后将结果累加。 -
数组模拟高精度减法与除法
减法和除法的实现方式与加法和乘法类似,分别模拟手工减法和除法的过程。
三、链表
链表是一种动态数据结构,具有插入和删除操作高效的特点。GESP五级要求掌握单链表、双链表、循环链表的基本操作。
-
单链表
单链表的每个节点包含数据和指向下一个节点的指针。插入和删除操作需要修改指针。 -
双链表
双链表的每个节点包含数据和指向前后两个节点的指针,支持双向遍历。 -
循环链表
循环链表的最后一个节点指向第一个节点,形成一个环。
四、算法复杂度估算
掌握算法复杂度估算方法是GESP五级考试的重点之一。包括多项式、对数等复杂度的分析。
-
时间复杂度
时间复杂度用来衡量算法执行时间随输入规模增长的变化趋势。例如,线性时间复杂度为O(n),对数时间复杂度为O(log n)。 -
空间复杂度
空间复杂度用来衡量算法所需存储空间随输入规模增长的变化趋势。
五、其他算法与数据结构
-
二分查找与二分答案
二分查找是一种高效的查找算法,适用于有序数组。二分答案则是在答案空间上进行二分,常用于优化问题。(这东西应该没人不会吧) -
贪心算法
贪心算法在每一步选择中都采取在当前状态下最好或最优的选择,从而希望导致结果是最好或最优的。 -
递归算法
递归是函数调用自身的编程技术。递归算法的实现需要明确基础情况和递归情况。 -
分治算法
分治算法将问题分解为若干个规模较小的子问题,递归求解子问题,然后合并子问题的解得到原问题的解。(这玩意儿应该都懂的)
另外,我写这东西花了1个小时,留下一个免费的赞赞和收藏吧 !!!!!!!!!!!!!!!!!!!!!!🎉🎉🎉🎉🎉
这里空空如也















有帮助,赞一个