王道计算机考研机试指南部分代码
书籍链接(无需积分)
大多数上机题给予我们的程序1秒的运行时限,这也是最常见的时间限制数量级。
对于该时限,通常,我们所设计的算法复杂度不能超过百万级别,即不能超过一千万。
即若算法的时间复杂度是O(n^2),则该n(往往在题目中会给出数据范围)不应大于3000,
否则将会达到我们所说的千万数量级复杂度,从而程序运行时间超出题目中给出的用时限定。
举例来说,我们不能在 1秒时限的题目当中对10000个整数进行冒泡排序,而必须使用快速排序等时间复杂度为 O(nlogn)的排序算法,否则程序很可能将会得到运行时间超
出限制的评判结果。因此你可以对你的程序在最坏情况下的复杂度进行一个估
算,假如确定其在百万数量级之内,那么你的程序一般是不会超出时间限制的。
对于其它时间限制的情况,可以参考 1 秒时限对时间复杂度的要求,做出一定的
估计,从而保证自己的程序运行所需的时间不会超过题目中对运行时间的限制。
代码
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
---|---|---|---|---|---|---|---|---|---|
经典入门 | 成绩排序 | 日期差值 | 周数计算 | 统计同成绩学生人数 | sort | 输出梯形 | 叠筐 | 查找 | 贪心算法 |
数据结构 | 括号匹配问题 | 简单计算器 | 二叉树遍历 | 4 | 5 | 6 | 7 | 8 | 9 |
数学问题 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
图论 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
搜索 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
动态规划 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
其他技巧 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |