01 算法绪论篇

第1章单元测验

1、单选题:

函数记号可表示为______

‌选项:
A:
B:
C:
D:
答案: 【 

2、单选题:

函数记号可表示为______

​选项:
A:
B:
C:
D:
答案: 【 

3、单选题:

函数记号可表示为______

‏选项:
A:

B:
C:
D:
答案: 【 

4、单选题:

函数记号可表示为______

‎选项:
A:
B:
C:
D:
答案: 【 

5、单选题:

函数记号可表示为______

‏选项:
A:
B:
C:
D:
答案: 【 

6、单选题:

函数记号可表示为______

‌选项:
A:
B:
C:
D:
答案: 【 

7、单选题:

下述伪代码希望求出数组中数字出现的次数,则伪代码空白处应填入______

输入:数组,数字

输出:在数组中出现的次数

for  to

  if   then

      ________

  end

end

return

‌选项:
A:
B:
C:
D:
答案: 【 

8、多选题:

函数记号可表示为______

‏选项:
A:
B:
C:
D:
答案: 【 ;
;

9、多选题:

函数记号可表示为______

‌选项:
A:
B:
C:
D:
答案: 【 ;
;
;

10、多选题:

函数记号可表示为______

‏选项:
A:
B:
C:
D:
答案: 【 ;

02 分而治之篇I

第2章单元测验

1、单选题:
‎在归并排序算法中,若每次分解将长度为 n 的数组分为两段,长度分别为 n-1 和 1,此时归并排序算法的时间复杂度为____‎
选项:
A:
B:
C:
D:
答案: 【 

2、单选题:
在归并排序算法中,若每次分解将长度为 n 的数组分为四段长度为 n/4 的子数组进行递归,此时归并排序算法的时间复杂度为____​
选项:
A:
B:
C:
D:
答案: 【 

3、单选题:
‏归并排序的最好情况时间复杂度为____‎
选项:
A:
B:
C:
D:
答案: 【 

4、单选题:

的解为=——

‎选项:
A:
B:
C:
D:
答案: 【 

5、单选题:

的解为 ____

‌选项:
A:
B:
C:
D:
答案: 【 

6、单选题:

的解为____

​选项:
A:
B:
C:
D:
答案: 【 

7、单选题:

的解为____

‌选项:
A:
B:
C:
D:
答案: 【 

8、单选题:

的解为____

​选项:
A:
B:
C:
D:
答案: 【 

9、单选题:
‍在最大子数组问题的优化枚举算法中,每次计算子数组 X[i..j] 之和的时间复杂度为____‌
选项:
A:
B:
C:
D:
答案: 【 

10、单选题:
​在最大子数组问题的分治算法中,若可以用 O(1) 的时间求得跨越中点的最大子数组,则该算法的时间复杂度为‏
选项:
A:
B:
C:
D:
答案: 【 

03 分而治之篇II

第3章单元测验

1、单选题:

数组中的逆序对个数为____

‎选项:
A: 4
B: 5
C: 6
D: 7
答案: 【 5

2、单选题:

长度为的数组中逆序对个数最多为____

​选项:
A:
B:
C:
D:
答案: 【 

3、单选题:
‏快速排序算法的最坏情况时间复杂度为____‍
选项:
A:
B:
C:
D:
答案: 【 

4、单选题:
​在快速排序算法中,假定存在一个神奇的黑盒可以在O(1)的时间内给出最好的主元(也就是中位数),那么使用此神奇黑盒的快速排序算法最差运行时间为____(请选择最准确的答案)​
选项:
A:
B:
C:
D:
答案: 【 

5、单选题:
‎随机化快速排序算法的最坏情况时间复杂度为____(请选择最准确的答案)‍
选项:
A:
B:
C:
D:
答案: 【 

6、单选题:
‏随机化快速排序算法的期望时间复杂度为____(请选择最准确的答案)‏
选项:
A:
B:
C:
D:
答案: 【 

7、单选题:

快速排序算法的关键为数组的划分,下面给出了一种划分数组的方法,其中空白处应填入____

输入:数组,起始位置,终止位置

输出:划分位置

 

 

while  do

while  and  do

     

end

if   then

    

 

end

while  and  do

     

end

if  then

    

          

end

end

return 

‌选项:
A:
B:
C:
D:
答案: 【 

8、单选题:

下面给出了计算Fibonacci数列第项的伪代码,该算法的时间复杂度为____(请选择最准确的答案)

 

输入:数字

输出:Fibonacci数列的第

  if  or  then

      return 

  else

      return

  end


‎选项:
A:
B:
C:
D:
答案: 【 

9、单选题:
‍随机化次序选择算法的最坏情况时间复杂度为____(请选择最准确的答案)‏
选项:
A:
B:
C:
D:
答案: 【 

10、单选题:
‍随机化次序选择算法的期望时间复杂度为____(请选择最准确的答案)​
选项:
A:
B:
C:
D:
答案: 【 

04 动态规划篇I

第4章单元测验

1、单选题:

在0-1背包问题中,若背包容量为20,5个物品的体积分别为,价格分别为。则该背包能容纳物品的最大总价格为____

‍选项:
A: 22
B: 23
C: 25
D: 26
答案: 【 25

2、单选题:

在商品个数为、背包容量为的0-1背包问题中,蛮力枚举算法和动态规划算法的时间复杂度分别为____ 

‍选项:
A:      
B:      
C:      
D:      
答案: 【      

3、单选题:
‌0-1背包问题中的递推式为____  ‍
选项:
A:
B:
C:
D:
答案: 【 

4、单选题:

下面给出了0-1背包问题的动态规划算法伪代码,其中空白处应分别填入____

输入:商品数量 ,各商品价值,各商品体积,背包容量 

输出:商品价格的最大值,最优解方案

创建二维数组

for  do

   

end

for  do

            

end

for  do

    for          do

        if  then

             

                          

        end

        else

            

           

        end

    end

end

for          do

    if  then

        print 选择商品

       

    end

    else

        print 不选择商品

    end

end

return ,

‏选项:
A:
B:
C:
D:
答案: 【 

5、单选题:
‌设计动态规划算法的一般步骤为____  ‏
选项:
A: 递推关系建立→问题结构分析→自上向下计算→最优方案追踪 
B: 递推关系建立→问题结构分析→自底向上计算→最优方案追踪 
C: 问题结构分析→递推关系建立→自上向下计算→最优方案追踪 
D: 问题结构分析→递推关系建立→自底向上计算→最优方案追踪 
答案: 【 问题结构分析→递推关系建立→自底向上计算→最优方案追踪 

6、单选题:
‏最大子数组问题的分治算法和动态规划算法的时间复杂度分别为____ (请选择最准确的答案)‏
选项:
A:
B:
C:
D:
答案: 【 

7、单选题:

在最大子数组问题的动态规划算法中,给出初始化部分的伪代码如下,空白处应填入____

输入:数组 ,数组长度

输出:最大子数组和,子数组起止位置

新建一维数组

//初始化

         

         

‌选项:
A:
B:
C:
D:
答案: 【 

8、单选题:

在最大子数组问题的动态规划算法中,给出计算部分的伪代码如下,空白处应填入__   _

输入:数组 ,数组长度

输出:最大子数组和,子数组起止位置

新建一维数组

初始化

//动态规划

for          do

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注