上一题中的 sortB 函数,明显体现出的算法思想和编程方法包括( )。
拿到题先别急着看代码细节,直接盯函数签名和调用逻辑:有没有‘自己调自己’?有没有‘把大问题拆成小问题分别解再合并’?这两点同时出现,答案自然出来了。
学生最容易只盯着‘递归’二字,觉得只要代码里写了函数调用自身就是递归,从而误选A;或者反过来,只看到‘拆分’就以为是分治,忽略递归调用,误选B。还有一种坑是审题不清,题干问的是‘算法思想’,不是问‘用了什么数据结构’,别被STL容器这些词带偏。命题人就是利用这种‘只看表面’的惯性设坑,让你以为A或B单独成立,其实必须同时具备两个特征才是C。
【考点】递归|分治算法
GESP五级算法模块明确将递归与分治列为核心考点,命题人设此题,就是要卡住只背模板的学生:他们能写出递归,却分不清何时该拆、何时该归。
看函数定义,先找基准情形,再看调用自身,这是递归;再看是否把大问题拆成小问题、分别求解再合并,这就是分治。两者同时出现,C自然选。
陷阱在于只盯‘递归’或只盯‘分治’。选项A和B单独成立,但题干强调‘体现出的算法思想’,必须同时看到调用自身(递归)和拆分合并(分治)。D是故意让人忽略分治的‘拆分’步骤,只看到‘递归调用’。命题人就是利用这种‘只看表面’的惯性设坑。
若把‘递归’改成‘循环’,答案变D;若把‘分治’改成‘回溯’,答案变A。刷到类似题先问自己:命题人想考我识别递归还是识别分治?
再结合考频看趋势:递归函数在题库共考过115题,覆盖8个级别,历年分布从2007年的4题一路攀升,2024年25题、2025年15题、2026年18题,说明递归仍是高频热点;分治算法共79题,2024年17题、2025年14题、2026年15题,同样保持高位。两级考点在GESP五级合计占比极高,命题人大概率会继续围绕‘识别+应用’出题,比如给一段看似复杂的排序或搜索代码,让你判断它用了递归还是分治,甚至两者结合。暂无足够依据预测未来是否会突然转向其他算法思想,但基于现有数据,递归与分治的考查强度短期内不会下降。
因此,面对‘sortB函数体现出的算法思想’这类题,核心心法就是:先确认有没有‘自己调自己’(递归),再确认有没有‘拆小问题再合并’(分治),两者兼备才选C。别被选项A或B的单一描述迷惑,也别掉进D的‘只看递归’陷阱里。