青岛理工大学25年夏季计算专业《算法设计与分析》期末A卷原题
第一题:求下面程序的时间复杂度,大O表示
int fun (int n) {
if (n == 1)
return 1;
else
return n*fun(n/2);
}
第二题:设计一高效算法,求,
,
均为正整数
第三题:
设一小写字母串,S=‘abcabcd’,设计算法求其最大不重复连续子串的长度
第四题:
农夫与奶牛:初始时,农夫在数轴N奶牛在M位置,农夫只能选择向前移动1步,或将当前位置翻倍,给定一正整数K,设计一算法使得在不超过K次移动的情况下农夫catch奶牛。类似于此题目:
第五题:
现有1、2、3、4、5面值的足够多硬币,设计算法使得给定正整数K,使得数量最少的硬币序列面值之和为K,并求出硬币的数量
第六题:
Nums数组存储可最大行走的步数,初始时位于数组0下标,问能否到达最后一个下标,设计算法
第七题:
描述最小生成树的一种算法,如:Prim算法,写出算法步骤并计算结果