2026/4/15 10:43:28
网站建设
项目流程
深圳附近做个商城网站找哪家公司好,php mysql 网站模板,虐做视频网站,动画制作软件an#x1f31f; 第 9 题#xff1a;排序算法的“稳定性”是什么#xff1f;#xff08;1#xff09;❓ 题目问下面关于排序算法稳定性的说法#xff0c;哪个是错误的#xff1f;正确答案#xff1a;✅ C. 选择排序是稳定的排序算法#xff08;错误#xff09;#xff… 第 9 题排序算法的“稳定性”是什么1❓ 题目问下面关于排序算法稳定性的说法哪个是错误的正确答案✅C. 选择排序是稳定的排序算法错误2 故事讲解排队的小朋友 假设有几位小朋友身高一样但衣服颜色不同A(红) B(蓝) C(红)3如果按“身高”排序稳定排序 红 A 还在 红 C 前面不稳定排序 红 A 和 红 C 的顺序可能被换掉4 三种排序的性格排序算法稳定吗原因冒泡排序✅ 稳定只交换相邻插入排序✅ 稳定像插队选择排序❌ 不稳定会“远距离交换”5 记忆口诀选择排序爱乱换不稳定冒泡、插入都稳定 第 10 题选择排序1❓ 题目核心让数组nums从小到大排序正确答案✅Anums[j] nums[minIndex] swap(nums[i], nums[minIndex])2 选择排序原理 第i轮先假设第 i 个最小在后面找更小的如果找到了就交换最后结果把从i向后最小的确保换到第 i 位3 为什么是因为我们要从小到大排列需要找最小值4 记忆口诀从小到大来排列找最小换到前 第 11 题插入排序1正确答案✅Aarr[j] key arr[j 1] key2 插入排序像什么像整理扑克牌 左边的牌已经排好右边新来一张往左找位置插进去3 while 循环含义while (j 0 arr[j] key)意思是 只要前面的牌比我大就往右挪4 记忆口诀大的往后挪数组腾出位置插中间 第 12 题插入排序的时间复杂度1正确答案✅B最好情况O(n)最坏情况O(n²)2 最好情况已经排好队1 2 3 4 5每个数只看一眼很快3 最坏情况全反着5 4 3 2 1每次都要一路往前挪很慢4 记忆口诀插入排序顺快只要走n次乱慢最多要走n的平方次。 第 13 题爬楼梯斐波那契数列1正确答案✅B核心递推式current prev1 prev2; prev2 prev1; prev1 current;2 故事讲解小杨爬楼梯一次爬1 阶或一次爬2 阶3 规律发现到第 n 阶的方法数 到第 n-1 阶的方法数到第 n-2 阶的方法数和斐波那契数列一样4 记忆口诀斐波那契数列用递推当前这步 前两步之和 第 14 题枚举三数时间复杂度是多少1正确答案✅C. O(n³)2 故事讲解三人小组 for i for j for k3老师想找三个同学的分数加起来等于 3004 有几层循环3 层5 时间复杂度规则几层 for就几次 n相乘6 小朋友口诀一层循环 n次复杂度二层循环n的平方复杂度三层循环n的立方复杂度 第 15 题异常处理哪句话是错的1正确答案✅D❌“所有异常都必须被捕获否则程序会崩溃”2先给同学一句话结论 ❌不是所有异常都“必须”被捕获✔没被捕获不等于立刻崩溃附详细解析用故事讲“异常处理” 一、《程序里的接球游戏》⚾想象程序在跑有时候会扔出一个“问题球”我们可以选择接也可以不接二、 三个角色角色C 里是谁做什么扔球的人throw抛出异常接球区try可能出事的地方接球手catch接住异常三、逐个选项详细解析重点1、✅ A. try 块中的代码可能会抛出异常正确1 理解try { int x 10 / 0; // 有风险 }2try就是告诉程序“这里可能会出问题注意一下”3 结论✔ 正确✔ try 就是用来“包住可能出事的代码”2、✅ B. catch 块可以有多个处理不同类型的异常正确1 故事讲解一个接球场有的球是int 球有的球是string 球有的球是double 球try { ... } catch (int e) { ... } catch (double e) { ... } catch (...) { ... }2 结论✔ 可以写多个catch✔ 谁先匹配谁先接3、✅ C. throw 语句用于抛出异常正确1 理解throw 42;意思是 “我发现问题了把问题丢出去”2 throw 的作用✔ 抛异常✔ 非常明确、直接4、❌ D. 所有异常都必须被捕获否则程序会崩溃错误 这是本题的“陷阱选项”四、为什么 D 是错的1、❌ 错误理解“只要 throw 了没有 catch程序一定马上崩溃”2、✔ 正确理解1️⃣异常可以不被捕获2️⃣是否崩溃取决于运行环境和异常类型3️⃣ 有些异常会被系统处理4️⃣ 有些会导致程序终止但这 ≠ 必须捕获3、 举个例子int main() { throw 100; }没有 catch程序结束但不是“语法错误”而是异常未处理4、 在考试中怎么理解❗题目说的是“必须被捕获” 这个说法太绝对了所以是错的五、给同学们的异常处理四句话口诀 try 包危险throw 来丢球catch 来接球异常不一定要接。六、这道题的考点是什么你是否理解try / catch / throw 的分工你是否能识别“绝对化说法”是陷阱七、考试一眼秒杀技巧 看到异常处理题1️⃣ 找try / catch / throw的定义2️⃣ 看选项有没有“必须 / 所有 / 一定”3️⃣优先选它是错的八、C 捕捉异常【标准模板】#include iostream using namespace std; int main() { try { // // 1️⃣ try 块 // // 把“可能出问题的代码”放在这里 // 如果这里发生异常就会跳到 catch 去处理 int a, b; cin a b; if (b 0) { // 主动抛出异常这里抛出一个 int 类型的异常 throw 0; } // 如果没有异常这行代码会正常执行 cout 结果是 a / b endl; } catch (int e) { // // 2️⃣ catch 块接 int 类型异常 // // 如果 try 中 throw 了 int 类型异常 // 程序就会来到这里 cout 错误除数不能为 0 endl; } catch (double e) { // // 3️⃣ 另一个 catch接 double 类型异常 // // 如果 throw 的是 double 类型就会进这里 cout 捕获到 double 类型异常 e endl; } catch (...) { // // 4️⃣ 万能 catch // // 不管抛出什么类型的异常 // 前面都没接住就到这里 cout 发生了未知错误 endl; } // // 5️⃣ 程序可以继续执行 // cout 程序正常结束。 endl; return 0; }