(图片大小可自由调整)
2025年大学试题(计算机科学)-算法设计与分析考试近5年真题集锦(频考类试题)带答案
第I卷
一.参考题库(共80题)
1.数据结构与算法里,完数N的因子一定包括1和N-1这两个数。
2.简述用计算机求解问题的步骤。
3.动态规划算法的基本思想是将待求解问题分解成若干(),先求解(),然后从这些()的解得到原问题的解。
4.以下关于二维数组的描述中,正确的有:()。
A、如有定义inta[2][3];则数组a的最后一个元素为a[1][2]
B、一个一维数组,它的每一个元素也是类型相同的一维数组时,便构成二维数组
C、在定义二维数组时,可以将该数组的两个维数全部省略
D、对于二维数组,即可以按元素初始化,也可以按行初始化
5.n个人拎着水桶在一个水龙头前面排队打水,水桶有大有小,水桶必须打满水,水流恒定。如下()说法不正确。
A、让水桶大的人先打水,可以使得每个人排队时间之和最小
B、让水桶小的人先打水,可以使得每个人排队时间之和最小
C、让水桶小的人先打水,在某个确定的时间t内,可以让尽可能多的人打上水
D、若要在尽可能短的时间内,n个人都打完水,按照什么顺序其实都一样
6.舍伍德算法总能求得问题的()。
7.哈夫曼编码可利用()算法实现。
A、分治策略
B、动态规划法
C、贪心法
D、回溯法
8.改进的冒泡排序的任一趟排序过程中,如果没有发生(),则说明已经有序;排序完毕。
A、数据交换
B、数据删除
C、数据增加
D、都不对
9.回文字符串是正反都一样的英文字符串,那么下面不是回文字符串的应为()。
A、XYZZ
B、XYZXYZ
C、XXMXX
D、MMNMMN
10.优先队列通常用()数据结构来实现。
A、栈
B、堆
C、队列
D、二叉查找树
11.关于break与continue下面的说法正确的是()
A、使用双重循环语句允许while与do…while语句嵌套for语句.但不允许for嵌套while与do...while结构
B、break用于switch结构,if结构及循环结构,其含义是中断,中止
C、continue有提前结束循环的作用
D、continue可以作用于任何循环结构,作用是结束本次循环体继续执行,继续下次循环
12.下面定义的一维数组并赋值正确的是()。
A、inta[2]={1,2,3};
B、inta[3]={1,2,3};
C、floata[3]={‘1’,’2’,’3’};
D、floata[3]={’1’,’a’,1.1};
13.数据结构与算法里,直接插入排序必须需要使用return语句才能实现。
14.递归通常用()来实现。
A、有序的线性表
B、队列
C、栈
D、数组
15.数据结构与算法里,可以用什么语句完成迭代算法()
A、for语句
B、while语句
C、do-while语句
D、switch语句
16.数据结构与算法里,30个记录进行冒泡排序,使用未改进的冒泡排序,则需要()趟排序才能完成排序。
A、29
B、30
C、28
D、27
17.判断完数的算法,需要求因子之和,若累加器为sum,则sum应该赋初值为()
A、sum=0;
B、sum=i;
C、sum=1;
D、sum=sum;
18.快速排序是稳定排序。
19.数据结构与算法里,变量height要比原来少15,则应写成()
A、height-15
B、height=15
C、height=-15
D、height-=15
20.数据结构与算法里,汉诺塔问题的递归分为()几部分。
A、递归前进段
B、递归返回段
C、递归出口
D、递归问题
21.关于循环语句和跳转语句,下面描述错误的是()