第1题 三角函数默认使用角度制。
答案:错误 ❌ 中的 。 输出不是 而是 因为 不是90°。 参考程序: 所有 pow(2,10),因为参数都是int,所以返回值也是int。 答案: 错误 ❌️ 虽然 都是int。 pow()函数规定: 返回值始终是 完全正确。 这句话错误。 也合法。 如果返回int, 很多小数都会丢失。 pow()返回double。 01背包一维优化时,从小到大枚举容量也能保证每件物品最多选择一次。 答案: 错误 ❌️ 重量 价值 容量 那么 更新 会使用 于是 同一个物品 又放了一遍。 又放第三遍。 变成 一件物品 用了三次。 而是 完全背包。 开放定址法即使哈希函数很好,也仍可能发生冲突。 答案: 正确 ✅️ 它们都会来到 冲突了。 再好的哈希函数 也不能保证 所有数字 都映射不同。 开放定址法 是可能冲突的。 DFS访问顺序与邻接点枚举顺序无关。 答案: 错误 ❌️ 先枚举B 再枚举C 就是 先枚举C 再枚举B 完全不同。 DFS结果 与邻接点遍历顺序密切相关。 只有: 邻接点顺序固定。 例如 全部按编号升序。 泛洪算法递归DFS,大地图可能爆栈。 答案: 正确 ✅️ 感觉很好用。 如果 整张地图 全都是陆地。 可能递归 几十万层。 于是 程序直接 或者 地图特别大 通常改写成 BFS 或者 非递归DFS。 哈夫曼树中不存在度为1的结点。 答案: 正确 ✅️ 一定 有两个孩子。 永远不会 只有一个。 冒泡排序稳定,选择排序也稳定。 答案: 错误 ❌️ 无权图BFS第一次到达某点,就是最短边数。 答案: 正确 ✅️ 走到某个点 一定 经过最少边。 无权图 最短路 就是 BFS。 DP状态依赖必须提前算出来。 答案: 正确 ✅️ 依赖 上一层 必须先算。 没有数据。 动态规划 必须保证 状态转移方向正确。 计算顺序(拓扑顺序) 例如: 线性DP:从左到右 网格DP:从上到下、从左到右 区间DP:区间长度从小到大 树形DP:DFS完成子树后回溯 把这10道判断题浓缩成考试最容易考的知识点,就是下面这10句话: 三角函数默认使用弧度,不是角度。 01背包一维优化必须倒序枚举容量。 哈希冲突无法完全避免。 DFS访问顺序依赖邻接点的遍历顺序。 递归DFS可能因递归层数过深而导致栈溢出。 哈夫曼树没有度为1的结点。 选择排序不稳定,冒泡排序稳定。 无权图最短路优先使用BFS。 动态规划一定要先计算依赖状态,再计算当前状态。1、但根据 C++ 标准库:
sin(90)90表示90弧度,不是90度2、例如:
#include #include using namespace std; int main() { cout << sin(90); }10.893997...90(弧度)≈5157°3、输入角度转弧度的方法:
#include #include using namespace std; int main() { const double PI = acos(-1); double degree; cin >> degree; double rad = degree * PI / 180.0; cout << rad << endl; return 0; }4、七级考试记住
三角函数默认使用弧度制。第2题
1、有的同学容易被"参数类型"骗了。
(1)来看:
pow(2,10)2 10(2)但是
double(3)例如:
double x=pow(2,10);(4)所以
2、为什么?
(1)因为
pow(2.1,3.8)(2)因此数学库统一规定:
第3题
1、这一题是经典背包问题。
假设只有一个物品
2562、如果正着循环
for(c=2;c<=6;c++)(1)第一次更新
dp[2]=5(2)随后
dp[4]dp[2](3)继续
dp[6](4)最后
15(5)实际上
(6)已经不是01背包。
3、所以01背包必须
for(c=W;c>=w;c--)倒着更新。
第4题
1、为什么?
(1)假设哈希函数
x%11(2)插入
11 22 330(3)于是
2、所以
第5题
1、来看
A / \ B C(1)如果
(2)DFS
A ↓ B ↓ C(3)如果
(4)DFS就是
A ↓ C ↓ B(5)访问顺序
2、所以
3、什么时候是唯一?
第6题
1、有的同学写过:
dfs(x,y);2、但是
(1)假设地图是
1000×1000(2)DFS
(3)系统栈根本装不下。
Runtime ErrorStack Overflow3、因此
第7题
1、为什么?
(1)哈夫曼树每次都是两个结点合并。
(2)例如
A B(3)变成
* / \ A B(4)父节点
2、因此,哈夫曼树
(1)只有
度0 度2(2)没有
度1这是哈夫曼树的重要性质。
第8题
1、冒泡排序是稳定的,但是选择排序不是。
2、考试要记住:
排序 稳定性 冒泡 √ 插入 √ 归并 √ 选择 × 快速 × 堆排序 × 第9题
1、为什么?
(1)BFS是一层一层扩展。
(2)例如
第0层 起点 ↓ 第1层 ↓ 第2层 ↓ 第3层(3)第一次
(4)因此
这是重要的结论。
第10题
1、例如
(1)数字三角形
dp[i][j]dp[i-1][j] dp[i-1][j-1](2)那么
(4)否则
dp[i][j]2、因此
3、这也是为什么DP一定要设计
第二部分判断题总结
题号 答案 核心知识点 考试重点 1 ❌️ 三角函数使用弧度制 牢记 sin()、cos()参数是弧度2 ❌️ pow()返回double不要被参数类型迷惑 3 ❌️ 01背包倒序枚举 正序会变成完全背包 4 ✅️ 开放定址法仍可能冲突 哈希冲突不可完全避免 5 ❌️ DFS访问顺序 受邻接点遍历顺序影响 6 ✅️ Flood Fill 与爆栈 大地图优先考虑 BFS 或非递归 DFS 7 ✅️ 哈夫曼树性质 没有度为1的结点 8 ❌️ 排序稳定性 选择排序不稳定 9 ✅️ BFS最短路 无权图第一次到达就是最短路径 10 ✅️ 动态规划 状态必须按照依赖关系计算 pow()、sqrt()、sin()等数学函数大多返回double。