教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

《算法分析与设计》期末试题及参考答案

来源:网络收集 时间:2026-09-05
导读: 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 《算法分析与设计》期末试题及参考答案 一、简要回答下列问题: 1.算法重要特性是什么? 1.确定性、可行性、输入、输出、有穷性 2. 2.算法分析的目的是什么? 2.分析算法占用计算机资源的情况,对算

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

《算法分析与设计》期末试题及参考答案

一、简要回答下列问题:

1.算法重要特性是什么?

1.确定性、可行性、输入、输出、有穷性

2.

2.算法分析的目的是什么?

2.分析算法占用计算机资源的情况,对算法做出比较和评价,设计出额更好的算法。

3.

3.算法的时间复杂性与问题的什么因素相关?

3. 算法的时间复杂性与问题的规模相关,是问题大小n的函数。

4.算法的渐进时间复杂性的含义?

4.当问题的规模n趋向无穷大时,影响算法效率的重要因素是T(n)的数量级,而其他因素仅是使时间复杂度相差常数倍,因此可以用T(n)的数量级(阶)评价算法。时间复杂度T(n)的数量级(阶)称为渐进时间复杂性。

5.最坏情况下的时间复杂性和平均时间复杂性有什么不同?

5. 最坏情况下的时间复杂性和平均时间复杂性考察的是n固定时,不同输入实例下的

算法所耗时间。最坏情况下的时间复杂性取的输入实例中最大的时间复杂度:

W(n) = max{ T(n,I) } , I∈Dn

平均时间复杂性是所有输入实例的处理时间与各自概率的乘积和:

A(n) =∑P(I)T(n,I) I∈Dn

6.简述二分检索(折半查找)算法的基本过程。

6. 设输入是一个按非降次序排列的元素表A[i:j] 和x,选取A[(i+j)/2]与x比较,

如果A[(i+j)/2]=x,则返回(i+j)/2,如果A[(i+j)/2]<x,则A[i:(i+j)/2-1]找x,否则在A[ (i+j)/2+1:j] 找x。上述过程被反复递归调用。

7.背包问题的目标函数和贪心算法最优化量度相同吗?

7. 不相同。目标函数:获得最大利润。最优量度:最大利润/重量比。

8.采用回溯法求解的问题,其解如何表示?有什么规定?

8. 问题的解可以表示为n元组:(x1,x2,……x n),x i∈S i, S i为有穷集合,x i∈S i, (x1,x2,……x n)具备完备性,即(x1,x2,……x n)是合理的,则(x1,x2,……x i)(i<n)一定合理。

9.回溯法的搜索特点是什么?

9. 在解空间树上跳跃式地深度优先搜索,即用判定函数考察x[k]的取值,如果x[k]是合理的就搜索x[k]为根节点的子树,如果x[k]取完了所有的值,便回溯到x[k-1]。

10.n皇后问题回溯算法的判别函数place的基本流程是什么?

1

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

10. 将第K行的皇后分别与前k-1行的皇后比较,看是否与它们相容,如果不相容就返回false,测试完毕则返回true。

11.为什么用分治法设计的算法一般有递归调用?

11 . 子问题的规模还很大时,必须继续使用分治法,反复分治,必然要用到递归。

12.为什么要分析最坏情况下的算法时间复杂性?、

12 最坏情况下的时间复杂性决定算法的优劣,并且最坏情况下的时间复杂性较平均时间复杂性游可操作性。

13.简述渐进时间复杂性上界的定义。

13 .T(n)是某算法的时间复杂性函数,f(n)是一简单函数,存在正整数No和C,n〉No,有T(n)<f(n),这种关系记作T(n)=O(f(n))。

14.二分检索算法最多的比较次数?

14 .二分检索算法的最多的比较次数为 log n 。

15.快速排序算法最坏情况下需要多少次比较运算?

15..最坏情况下快速排序退化成冒泡排序,需要比较n2次。

16.贪心算法的基本思想?

16. 是一种依据最优化量度依次选择输入的分级处理方法。基本思路是:首先根据题意,选取一种量度标准;然后按这种量度标准对这n个输入排序,依次选择输入量加入部分解中。如果当前这个输入量的加入,不满足约束条件,则不把此输入加到这部分解中。

17.回溯法的解(x1,x2,……x n)的隐约束一般指什么?

17.回溯法的解(x1,x2,……x n)的隐约束一般指个元素之间应满足的某种关系。

18.阐述归并排序的分治思路。

18. 讲数组一分为二,分别对每个集合单独排序,然后将已排序的两个序列归并成一个含n个元素的分好类的序列。如果分割后子问题还很大,则继续分治,直到一个元素。

19.快速排序的基本思想是什么。

19.快速排序的基本思想是在待排序的N个记录中任意取一个记录,把该记录放在最终位置后,数据序列被此记录分成两部分。所有关键字比该记录关键字小的放在前一部分,所有比它大的放置在后一部分,并把该记录排在这两部分的中间,这个过程称作一次快速排序。之后重复上述过程,直到每一部分内只有一个记录为止。

20.什么是直接递归和间接递归?消除递归一般要用到什么数据结构?

20.在定义一个过程或者函数的时候又出现了调用本过程或者函数的成分,既调用它自己本身,这称为直接递归。如果过程或者函数P调用过程或者函数Q,Q又调用P,这个称为间接递归。消除递归一般要用到栈这种数据结构。

21.什么是哈密顿环问题?

2

…… 此处隐藏:350字,全部文档内容请下载后查看。喜欢就下载吧 ……
《算法分析与设计》期末试题及参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1934299.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)