(完整版)算法设计与分析期末考试卷及答案a.doc

(完整版)算法设计与分析期末考试卷及答案a.doc
(完整版)算法设计与分析期末考试卷及答案a.doc

一.填空题(每空 2 分,共 30 分)

1.算法的时间复杂性指算法中的执行次数。

2.在忽略常数因子的情况下,O、和三个符号中,提供了算法运行时间的一个上界。

3.设 D n表示大小为 n 的输入集合, t(I) 表示输入为 I 时算法的运算时间 , p(I) 表示输入

I 出现的概率,则算法的平均情况下时间复杂性A(n)= 。4.分治算法的时间复杂性常常满足如下形式的递归方程:

f (n) d , n n 0

f(n) af(n/c) g(n) , n n 0

其中, g(n)表示。

5. 分治算法的基本步骤包括。

6.回溯算法的基本思想是。

7.动态规划和分治法在分解子问题方面的不同点是。

8.贪心算法中每次做出的贪心选择都是最优选择。

9. PQ 式的分支限界法中,对于活结点表中的结点,其下界函数值越小,优先级越。

10.选择排序、插入排序和归并排序算法中,算法是分治算法。

11.随机算法的一个基本特征是对于同一组输入,不同的运行可能得到的结果。

12.对于下面的确定性快速排序算法,只要在步骤 3 前加入随机化步

骤,就可得到一个随机化快速排序算法,该随机化步骤的功能是。

算法 QUICKSORT

输入: n 个元素的数组 A[1..n] 。

输出:按非降序排列的数组 A 中的元素。

_

_

_

_

_

_

_

栏_

_

_

_

年线

_

_

信_

_

_

_

专订

生_

_

_

_

_

_

考_装

_

_

_

_

_

_

_

_

_

_

_

1.quicksort(1, n)

end QUICKSORT

程 quicksort(A, low, high)

//A[low..high] 中的元素按非降序排序。

2.if low

3.w=SPLIT(A, low, high)

//算法 SPLIT 以 A[low] 主元将 A[low..high] 划分成两部

//分,返回主元的新位置。

4.quicksort (A, low, w -1)

5.quicksort (A, w+1, high)

6. end if

end quicksort

13.下面算法的基本运算是运算,算法的复性()。

算法 SPLIT

入:正整数 n,数 A[1..n] 。

出:?。

i=1

x=A[1]

for j=2 to n

if A[j]<=x then

i=i+1

if i j then A[i]A[j]

end if

end for

A[i]A[1]

w=i return

w, A

end SPLIT

二.计算题和简答题(每小题7 分,共 21 分)

1.用 O、、表示函数f与g之的关系,并分指出下列函数中最低和最高的函数:

(1) f (n)=100 g(n)=100n

(2) f(n)=6n+n log n g(n)=3n

(3) f(n)= n/logn-1 g(n)= 2 n

(4) f(n)= 2n n2 g(n)= 3n

(5) f(n)= log3n g(n)= log2n

2.下面是一个算法,其中,程 pro1 和 pro2 的运算分是 1 和log2n。

出算法的复性T(n) 足的方程,并求解方程,估 T(n)的(用表示)。

算法 EX1

入:正整数 n,n=2k。

出:?

ex1(n)

end EX1

程 ex1(n)

if n=1 then

pro1(n)

else

_

_

_

_

_

_

栏_

_

_

_

_

年线

_

信_

_

_

_

_

专订生

_

_

_

_

_

_

考系

_装

_

_

_

_

_

_

_

_

_

_

_

pro2(n)

ex1(n/2)

end if

return

end ex1

3.用 Floyd 算法求下图每一对顶点之间的最短路径长度,计算矩阵D0,D1,D2和 D3,其中 D k[i, j] 表示从顶点 i 到顶点 j 的不经过编号大于k的顶点的最短路径长度。

三.算法填空题(共34 分)

1.(10 分)设 n 个不同的整数按升序存于数组A[1..n] 中,求使得 A[i]=i 的下标 i 。下面是求解该问题的分治算法。

算法 SEARCH

输入:正整数 n,存储 n 个按升序排列的不同整数的数组 A[1..n] 。

输出: A[1..n] 中使得 A[i]=i 的一个下标 i,若不存在,则输出 no solution。

i=find ((1))

if i>0 then output i

else output“ no solution”

end SEARCH

过程 find (low, high)

// 求 A[low..high]中使得A[i]=i的一个下标并返回,若不存在,

//返回0。

if (2) then return 0 else

mid= (low high ) / 2

if(3)

else

if A[mid]

return find( else

return

end if then return mid

(4)

(5)

)

end if

end if

end find

2.(10 分) 下面是求解矩乘的划算法。

矩乘:出 n 个矩 M 1 2

, ?n

, M

i i

r

i+1 矩,?

,

, M , M r i=1, 2, n,求算 M 1M 2? M n所需的最少数量乘法次数。

M i, j =M i M i+1?M j , i<=j 。 C[i, j], 1<=i<=j<=n,表示算M i, j的所需的最少数量乘法次数,

C[ i, j] 0 , i j min{ C[i, k -1] C[k, j] r i r k r j 1} , i j i k j

算法 MATCHAIN

入:矩度 n, n 个矩的 r[1..n+1], 其中 r[1..n] n 个矩的行数, r[n+1] 第 n 个矩的列数。

出: n 个矩乘所需的数量乘法的最少次数。

_

_ _ _ _

号 学

_

栏 _

_ _ _ _

名 姓

级 线

年 _

信 _ _ _ _ _

业 订

生 专 _ _ _ _ _ _

_ _ _ _ _ _ 院 学 _ _ _ _ _ _

for i=1 to n C[i, i]=

(1)

for d=1 to n-1

for i=1 to n -d

j=

(2)

C[i, j]=

for k=i+1 to j

x=

(3)

if x

(4)

=x

end if

end for

end for

end for

return

(5)

end MATCHAIN

3. (14 分) 下面是用回溯法求解马的周游问题的算法。

马的周游问题:给出一个

nxn 棋盘,已知一个中国象棋马在

棋盘上的某个起点位置( x0, y0),求一条访问每个棋盘格点恰好

一次,最后回到起点的周游路线。 (设马走日字。)

算法 HORSETRAVEL

输入:正整数 n ,马的起点位置 (x0, y0) ,1<=x0, y0<=n 。

输出:一条从起点始访问 nxn 棋盘每个格点恰好一次, 最后回到起

点的周游路线;若问题无解,则输出

no solution 。

tag[1..n, 1..n]=0

dx[1..8]={2, 1, -1, -2, -2, -1, 1, 2} dy[1..8]={1, 2, 2, 1, -1, -2, -2, -1}

flag=false

x=x0; y=y0 ; tag[x, y]=1

m=n*n

i=1; k[i]=0

while(1)and not flag

while k[i]<8 and not flag

k[i]=(2)

x1= x+dx[k[i]]; y1= y+dy[k[i]]

if ((x1,y1)无越界 and tag[x1, y1]=0) or ((x1,y1)=(x0,y0) and i=m) then x=x1; y=y1

tag[x, y]= (3)

if i=m then flag=true

else

i=(4)

(5)

end if

end if

end while

i=i -1

(6)

(7)

end while

if flag then outputroute(k) // 输出路径

else output“ no solution”

end HORSETRAVEL

_

_

_

_

_

_

_

_

栏_

_

_

年线

_

_

_

信_

_

_

专订

_

生_

_

_

_

_

_装考_

_

_

_

_

_

_

_

_

_

_

四.算法设计题( 15 分)

1.一个旅行者要驾车从 A 地到 B 地, A、B 两地间距离为 s。A 、B 两地

之间有 n 个加油站,已知第 i 个加油站离起点 A 的距离为d i公里,

0=d1 d 2 d n s,车加满油后可行驶m 公里,出发之前汽车油箱为空。应如何加油使得从 A 地到 B 地沿途加油次数最少?给出用贪心法求解该最优化问题的贪心选择策略,写出求该最优化问题

的最优值和最优解的贪心算法,并分析算法的时间复杂性。

《算法设计与分析》期考试卷(A) 标准答案

一. 填空题:

1.元运算

2. O

3.

p( I )t (I )

I D n

4. 将规模为 n 的问题分解为子问题以及组合相应的子问题的解所需的时间

5. 分解,递归,组合

6. 在问题的状态空间树上作带剪枝的 DFS 搜索(或: DFS+ 剪枝)

7. 前者分解出的子问题有重叠的,而后者分解出的子问题是相互独立(不重叠)的

8. 局部 9. 高

10. 归并排序算法 11. 不同

12. v=random (low, high); 交换 A[low] 和 A[v] 的值随

机选主元

13. 比较

n

二. 计算题和简答题:

1. 阶的关系: (1) f(n)= O(g(n)) (2) f(n)=(g(n)) (3) f(n)=(g(n)) (4) f(n)= O(g(n))

(5) f(n)=(g(n))

阶最低的函数是: 100

阶最高的函数是:

3n

2. 该递归算法的时间复杂性 T(n) 满足下列递归方程:

T(n) 1

, n 1

T(n) T(n/2)

log 2n , n

1

将 n= 2k , a=1, c=2, g(n)= log 2 n , d=1 代入该类递归方程解的一般形式得:

k 1

n k 1

T(n)=1+

=1+k log 2 n -

i

log 2

i 0

2i

i

=1+ k log 2 n - k (k 1) =

1

log 22

n + 1

log 2 n +1

2

2 2

所以, T(n)=

1

log 22

n + 1

log 2 n +1= (log 2 n) 。

2 2

3.

2

2

0 2

D 0

3 0 6 D 1

3 0 5 D 2

3 0 5 10

5

10 5 0

8 5 0

0 7 2

D 3 3 0 5

8 50

三. 算法填空题:

1. (1) 1, n (2) low>high (3) A[mid]=mid

(4) mid+1, high (5) find(low, mid -1)

2. (1) 0 (2) i+d (3) C[i, k -1]+C[k, j]+r[i]*r[k]*r[j+1]

(4) C[i, j] (5) C[1, n]

3. (1) i>=1 (2)k[i]+1 (3) 1

(4) i+1 (5) k[i]=0 (6) tag[x, y]=0

(7)x=x-dx[k[i]]; y=y-dy[k[i]]

四.算法设计题:

1.贪心选择策略:从起点的加油站起每次加满油后不加油行驶尽可能远,直至油箱中的油

耗尽前所能到达的最远的油站为止,在该油站再加满油。

算法 MINSTOPS

输入: A 、 B 两地间的距离 s,A 、B 两地间的加油站数 n,车加满油后可行驶的公里数m,存储各加油站离起点 A 的距离的数组d[1..n] 。

输出:从 A 地到 B 地的最少加油次数k 以及最优解x[1..k] ( x[i] 表示第 i 次加油的加油站序号),若问题无解,则输出no solution 。

d[n+1]=s; //设置虚拟加油站第n+1 站。

for i=1 to n

if d[i+1] -d[i]>m then

output “ no solution” ; //return无解,返回

end if

end for

k=1; x[k]=1//在第 1 站加满油。

s1=m //s1 为用汽车的当前油量可行驶至的地点与 A 点的距离

i=2

while s1

if d[i+1]>s1 then// 以汽车的当前油量无法到达第i+1 站。

k=k+1; x[k]=i// 在第 i 站加满油。

s1=d[i]+m// 刷新 s1 的值

end if

i=i+1

end while

output k, x[1..k]

MINSTOPS

最坏情况下的时间复杂性:Θ(n)

人教2017年六年级期末考试卷及答案 (2).docx

2017 年 ** 小学毕业考试 数学试卷 题号一二三四五总分 得分 (全卷共 6 页,满分 100 分,完成时间90 分钟) :卷首语:亲爱的同学 , 六年的小学生活很快就要过去了,你一定掌握了许多知识和本领。 名 ! 祝你成功!姓这儿老师为你提供了一个展示自我的舞台,相信你一定能发挥出自己最好的水平 一、填空:(共20 分每空 1 分) 线 1、读作 () ,改写成用“万”作单位的数是 (),省略万位后面的尾数约是()。 :2、2010 年第 16 届广州亚运会的举办时间为 2010 年 11 月 12 日—— 11 月 27 号 封 考 )个星期还多()天。 日,那么这届亚运会要经历( 3、把 144∶240 化成最简整数比是 () ,比值是 ( 4、3÷()=( () )折。)÷ 24==75% = ( 密() 5、把三角形 ABC沿着边 AB旋转一周,得到的立体图形 ) 。 A A 6 : 级 是(),它的体积是()立方厘米。 班 B 3C (单位:厘米)(第 5 题) 6、 1 千克盐水含盐 50 克,盐是盐水的()%。 7、 78能同时被 2、3、5 整除,个位只能填(),百位上最大 :能填()。 校 学 8、一所学校男学生与女学生的比是 4 :5,女学生比男学生人数多()%。 9、一座城市地图中两地图上距离为10cm,表示实际距离 30km,该幅地图的

比例尺是()。 10、水果店运一批水蜜桃,第一天出批水蜜桃的1 ,第二天出余下的3 60% ,第三天全部完。如果第三天比第二天少80 千克,那么批水蜜桃共()千克。 二、判断:(共5分每 1 分) 11、自然数( 0 除外)不是数,就是合数。() 12、小于4 而大于 2 的分数只有 3 。()555 13、一个柱与一个等底等高,他的体和是36 立方米,那么的体 是 9 立方米。() 14、生的 90 个零件中,有 10 个是品,合格率是90%。() 15、“一只青蛙四条腿,两只眼睛,一嘴;两只青蛙八条腿,四只眼睛,两 嘴,三只青蛙??那么青蛙的只数与腿的条数成正比例关系”。() 三、:( 10 分每 2 分) 16、2008 年的 1 月份、 2 月份、 3 月份一共有() A.89 B .90 C.91

中科院陈玉福计算机算法设计与分析期末简答题答案

1. 贪心算法和动态规划算法有什么共同点和区别?它们都有那些优势和劣势? 共通点:动态规划和贪心算法都是一种递推算法,均有局部最优解来推导全局最优解 区别:贪心算法中,作出的每步贪心决策都无法改变,每一步的最优解一定包含上一步的 最优解,而上一部之前的最优解则不作保留。 动态优化算法,全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有最优解 动态规划算法利用子问题重叠性质,对每一个子问题只计算一次,将其解保存在一个表格中。不同的子问题个数随着输入问题的规模呈多项式增长,因此,动态规划算法通常只需要多项式时间,从而获得较高的解题效率。但它需要计算之前所有情况花费,更加耗费空间。 贪心算法所作的选择依赖于以往所作过的选择,但决不依赖于将来的选择,这使得算法在编 码和执行过程中都有一定的速度优势。贪心算法是只是找局部最优解,不一定是全局最优解。 2. 试比较回溯法与分枝限界算法,分别谈谈这两个算法比较适合的问题? 二者都是在解空间树里搜索问题的可靠解或最优解,但是搜索的方式不同,回溯法采用深 度优先的方式,直到达到问题的一个可行解,或经判断沿此路径不会达到问题的可行解或最优解时,停止向前搜索,并沿原路返回到该路径上最后一个还可扩展的节点,然后,从该节点出发朝新的方向纵深搜索。分枝限界法采用的是宽度优先的方式,它将活节点存放在一个特殊的表中,其策略是,在扩展节点处,首先生成其所有的儿子节点,将那些导致不可行解或导致非最优解的儿子节点舍弃,其余儿子节点加入活节点表中,然后,从活节点中取出一个节点作为当前扩展节点,重复上述节点中扩展过程。可以看出,回溯法一般用于求问题的一个可行解,而分枝限界可以用于求出问题的所有可行解。 3. 何谓最优化原理?采用动态规划算法必须满足的条件是什么?动态规划算法是通过什 么问题的什么特性提高效率的? 一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。最优子结构性质,子问题重叠性质是计算模型采用动态规划算法求解的两个基本要素。 动态规划算法利用子问题重叠性质,对每一个子问题只计算一次,将其解保存在一个表格中。不同的子问题个数随着输入问题的规模呈多项式增长,因此,动态规划算法通常只需要多项式时间,从而获得较高的解题效率 4. 什么是多项式时间算法? 若存在一个常数C,使得对于所有n>=0,都有|f(n)| <= C*|g(n)|,则称函数f(n)是O(g(n))。时间复杂度是O(p(n))的算法称为多项式时间算法,这里p(n)是关于n的多项式。 时间复杂度为O(nlog(n))、O(n^3)的算法都是多项式时间算法,时间复杂度为O(n^log(n))、O(n!)、O(2^n)的算法是指数时间算法。 一个优化问题如果已经找到了多项式时间算法,则称该问题为多项式时间可解问题,并 将这类问题的集合记为P,因此多项式时间可解问题就称为P类问题。。

算法设计与分析考试题及答案

算法设计与分析考试题 及答案 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

一、填空题(20分) 1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:确定性 有穷性 可行性 0个或多个输入 一个或多个输出 2.算法的复杂性有时间复杂性 空间复杂性之分,衡量一个算法好坏的标准是 时间复杂度高低 3.某一问题可用动态规划算法求解的显着特征是 该问题具有最优子结构性质 4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y 的一个最长公共子序列{BABCD}或{CABCD}或{CADCD } 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含一个(最优)解 6.动态规划算法的基本思想是将待求解问题分解成若干_子问题 ,先求解_子问题 ,然后从这些子问题 的解得到原问题的解。 7.以深度优先方式系统搜索问题解的算法称为回溯法 背包问题的回溯算法所需的计算时间为o(n*2n ) ,用动态规划算法所需的计算时间为o(min{nc,2n }) 9.动态规划算法的两个基本要素是最优子结构 _和重叠子问题 10.二分搜索算法是利用动态规划法实现的算法。 二、综合题(50分) 1.写出设计动态规划算法的主要步骤。 ①问题具有最优子结构性质;②构造最优值的递归关系表达式; ③最优值的算法描述;④构造最优解; 2. 流水作业调度问题的johnson 算法的思想。 ①令N 1={i|a i =b i };②将N 1中作业按a i 的非减序排序得到N 1’,将N 2中作业按b i 的非增序排序得到N 2’;③N 1’中作业接N 2’中作业就构成了满足Johnson 法则的最优调度。 3. 若n=4,在机器M1和M2上加工作业i 所需的时间分别为a i 和b i ,且 (a 1,a 2,a 3,a 4)=(4,5,12,10),(b 1,b 2,b 3,b 4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。 步骤为:N1={1,3},N2={2,4}; N 1’={1,3}, N 2’={4,2}; 最优值为:38 4. 使用回溯法解0/1背包问题:n=3,C=9,V={6,10,3},W={3,4,4},其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。 解空间为{(0,0,0),(0,1,0),(0,0,1),(1,0,0),(0,1,1),(1,0,1), (1,1,0),(1,1,1)}。 解空间树为: 该问题的最优值为:16 最优解为:(1,1,0) 5. 设S={X 1,X 2,···,X n }是严格递增的有序集,利用二叉树的结点来存储S 中的元素,在表示S 的二叉搜索树中搜索一个元素X ,返回的结果有两种情形,(1)在二叉搜索树的内结点中找到X=X i ,其概率为b i 。(2)在二叉搜索树的叶结点中确定X ∈(X i ,X i+1),其概率为a i 。在表示S 的二叉搜索树T 中,设存储元素X i 的结点深度为C i ;叶结点(X i ,X i+1)的结点深度为d i ,则二叉搜索树T 的平均路长p 为多少假设二叉搜索树T[i][j]={X i ,X i+1,···,X j }最优值为m[i][j],W[i][j]= a i-1+b i +···+b j +a j ,则m[i][j](1<=i<=j<=n)递归关系表达式为什么 .二叉树T 的平均路长P=∑=+n i 1 Ci)(1*bi +∑=n j 0 dj *aj

C期末考试题及答案

C期末考试题及答案 Revised at 2 pm on December 25, 2020.

一、填空题(每空0.5分,共30分) 1、世界坐标系简称__WCS_用户自定义坐标系简称__UCS_。 2、工作空间的切换:“工具”/“工作空间”或“工作空间”工具栏。 3、工具栏包括30种,系统默认的显示工具栏包括:“标准”、“属性”、“绘图”和“修改”等工具栏。 4、多线的对正方式有_上(T)_、_无(Z)_和_下(B)_。 5、文字标注包括标注单行文字和标注多行文字。 6、渲染环境是指在渲染对象时进行的雾化和深度设置。 7、漫游和飞行用户可以通过键盘和鼠标来控制视图显示,并创建导航动画。 8、编辑实体的边的种类:压印边、复制边、着色边。 9、动态块是通过自定义夹点或自定义特性定义的块。在图形中使用动态块,用户可以随时对组成块的对象进行修改。 10、三维实体是具有体积、质量、重心、回转半径、惯性距等特征的三维对象。 11、在AutoCAD 2007中,用户可以创建的光源有电光源、聚光灯光源和平行光光源。 12、相切、相切、半径法是指:通过指定圆的两个切点和半径来绘制圆。 13、绘制圆环的步骤中,先输入圆环的内径和外径,后确定圆环的中心点。 14、计算机辅助设计是:工程技术人员在CAD系统的辅助下,根据产品的设计程序进行设计的一项新技术。 15、菜单栏包括11种,每一种菜单中都含有四种显示情况:命令后跟右三角 、后跟省略号、后跟快捷键或功能键或命令呈灰色。 16、要对图形对象进行编辑就必须选中图形对象,在AutoCAD 2007中,选择对象的方法很多,常用的有_直接拾取_、矩形框选择_、_不规则区域选择_和快速选择。 17、在设置显示精度时,如果设置的精度越高,即分辨率就越高,计算机计算的时间 也越长,显示图形的速度也就越慢。 18、三维基本实体的种类包括:多段体、长方体、楔体、圆柱体、圆锥体、球体、圆环体、棱锥面。 19、布尔运算中只留重复的一部分的运算是交集运算。从一个图形中去掉与另一个图形重复部分的运算是差集运算。

算法设计与分析实验报告贪心算法

算法设计与分析实验报告 贪心算法 班级:2013156 学号:201315614 姓名:张春阳哈夫曼编码 代码 #include float small1,small2; int flag1,flag2,count; typedefstructHuffmanTree { float weight; intlchild,rchild,parent; }huffman; huffmanhuffmantree[100]; void CreatHuffmanTree(intn,int m) { inti; void select(); printf("请输入%d个节点的权值:",n); for(i=0;i

printf("\n"); for(i=0;i

算法设计与分析试卷(2010)

算法设计与分析试卷(A 卷) 一、 选择题 ( 选择1-4个正确的答案, 每题2分,共20分) (1)计算机算法的正确描述是: B 、D A .一个算法是求特定问题的运算序列。 B .算法是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列。 C .算法是一个对任一有效输入能够停机的图灵机。 D .一个算法,它是满足5 个特性的程序,这5个特性是:有限性、确定性、能 行性、有0个或多个输入且有1个或多个输出。 (2)影响程序执行时间的因素有哪些? C 、D A .算法设计的策略 B .问题的规模 C .编译程序产生的机器代码质量 D .计算机执行指令的速度 (3)用数量级形式表示的算法执行时间称为算法的 A A .时间复杂度 B .空间复杂度 C .处理器复杂度 D .通信复杂度 (4)时间复杂性为多项式界的算法有: A .快速排序算法 B .n-后问题 C .计算π值 D .prim 算法 (5)对于并行算法与串行算法的关系,正确的理解是: A .高效的串行算法不一定是能导出高效的并行算法 B .高效的串行算法不一定隐含并行性 C .串行算法经适当的改造有些可以变化成并行算法 D. 用串行方法设计和实现的并行算法未必有效 (6)衡量近似算法性能的重要标准有: A A .算法复杂度 B .问题复杂度 C .解的最优近似度 D .算法的策略 (7)分治法的适用条件是,所解决的问题一般具有这些特征: ABCD A .该问题的规模缩小到一定的程度就可以容易地解决; B .该问题可以分解为若干个规模较小的相同问题; C .利用该问题分解出的子问题的解可以合并为该问题的解 D .该问题所分解出的各个子问题是相互独立的。 (8)具有最优子结构的算法有: A .概率算法 B .回溯法 C .分支限界法 D .动态规划法 (9)下列哪些问题是典型的NP 完全问题: A .排序问题 B .n-后问题 C .m-着色问题 D .旅行商问题 (10)适于递归实现的算法有: C A .并行算法 B .近似算法 C .分治法 D .回溯法 二、算法分析题(每小题5分,共10分) (11)用展开法求解递推关系: (12)分析当输入数据已经有序时快速排序算法的不足,提出算法的改进方案。 ???>+-==1 1)1(211)(n n T n n T

初二期末考试卷及答案

初二期末考试卷及答案 一、知识积累与运用( 31 ) 1 .给下面加点字注音,根据拼音写出汉字( 2 分) , 鲁达提起拳头来,就眼眶际眉梢只一拳,打得眼棱( )缝裂,乌珠b è ng ( )出,也似开了个彩b ó( )铺,红的、黑的、紫的都绽( )将出来。 2 .选择题:( 6 分) ①在横线处依次填入恰当的句子,构成前后连贯,合理的排比句( 2 分) 人的一生像金,要刚正,;人的一生像木,要正直,;人的一生像水,要灵活,;人的一生像火,要耀眼,;人的一生像土,要本色,作风须朴实 A .立场须坚定 B .事业须旺盛 C .方法须随和 D .人格须挺立 ②下列表述有误的一项是( )( 2 分) A .新闻就是对新近发生的事实的报道,真实性和客观性是新闻最重要的属性。 B .阅读小说,要注意理清故事情节,把握人物形象,体会环境描写的作用,从而理解它所反映的社会生活的意义。 C .《范进中举》选自《儒林外史》作者吴敬梓,清代小说家,《儒林外史》是我国古代最杰出的长篇讽刺小说。 D .《记承天寺夜游》,作者,苏轼,宋代文学家,号东坡居士,

是唐宋八大家之首。 ③下列短语中与“露珠晶莹”结构相同的一项是( )( 2 分) A .科学技术 B .坚持真理 C .会议结束 D .高兴起来 3 .默写( 12 分) ①足蒸暑土气,,②浊酒一杯家万里,, ③,柳暗花明又一村。④,自将磨洗认前朝。 ⑤细细谛听,水声重重叠叠,,,裹着 万般柔情,从地下袅袅回旋上升。 ⑥在我国古代诗歌创作中,爱国主义是一个永恒的主题,如,龚自珍在《已亥杂诗》中以“ ,”展示了以身献国,痴心不改的情怀。杜甫在《茅屋为秋风所破歌》中的“ ,” 体现了它的济世情怀,而文天祥则在《过零丁洋》中以“ , 。”表达出自己的爱国情怀。 4 .综合性学习( 3 分) 阅读下面这则新闻报道,请用一句话概括新闻主要信息(不超过20 个字)。本报讯(见习记者何明洁)为了引导学生文明健康上网,日前由成都市教育局、共青团成都市委和清华同方三方主办的“ 绿色上网” 万签名活动,在成都三原外国语学校举行。活动当天,三原师生制作了1600 多件征文作品和电脑软件。参加活动的同学一致表示,要文明健康上网,远离精神污染。据了解,此次“ 绿色上网” 万人签名活动将途经20 站,历时 4 个月,三原外国语学校是该活动的第12 站。

算法设计与分析课程设计报告样本

课程设计报告 课程设计名称: 算法设计与分析 系 : 三系 学生姓名: 吴阳 班级: 12软件(2)班 学号: 0311232 成绩: 指导教师: 秦川 开课时间: 年一学期 一、问题描述 1.普通背包问题

给定n种物品和一个背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。选择装入的背包的物品, 使得装入背包中的物品的总价值最大, 在选择物品i装入背包时, 能够选择物品i的一部分, 而不一定要全部装入背包, 1≤i≤n。 2.0/1背包问题 给定n种物品和一个背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。选择装入的背包的物品, 使得装入背包中的物品的总价值最大, 在选择物品i装入背包时, 对于每种物品i只有两种选择, 即装入背包或者不装入背包, 不能将物品装入背包多次, 也不能只装入部分的物品i。 3.棋盘覆盖问题 在一个2k x 2k个方格组成的棋盘中恰有一个方格与其它的不同称为特殊方格, 想要求利用四种L型骨牌( 每个骨牌可覆盖三个方格) 不相互重叠覆盖的将除了特殊方格外的其它方格覆盖。 二、问题分析

1.普通背包问题 对于背包问题, 若它的一个最优解包含物品j, 则从该最优解中拿出所含的物品j的那部分重量W, 剩余的将是n-1个原重物品1, 2, ······, j-1, j+1, ·····, n以及重为Wi-W的物品j 中可装入容量为C-W的背包且具有最大价值的物品。 2.0/1背包问题 如果当前背包中的物品的总容量是cw, 前面的k-1件物品都已经决定好是否要放入包中, 那么第k件物品是否放入包中取决于不等式 cw + wk <= M (其中, wk为第k件物品的容量, M为背包的容量)( 此即约束条件) 然后我们再寻找限界函数, 这个问题比较麻烦, 我们能够回忆一下背包问题的贪心算法, 即物品按照物品的价值/物品的体积来从大到小排列, 然后最优解为( 1, 1, 1......., 1, t, 0, 0, ......) , 其中0<=t<=1; 因此, 我们在确定第k个物品到底要不要放入的时候(在前k-1个物品已经确定的情况下), 我们能够考虑我们能够达到的最大的价值, 即我们能够经过计算只放入一部分的k物品来计算最大的价值。我们要确保当前选择的路径的最大的价值要大于我们已经选择的路径的价值。这就是该问题的限界条件。经过该条件, 能够减去很多的枝条, 大大节省运行时间。 3.棋盘覆盖问题 每次都对分割后的四个小方块进行判断, 判断特殊方格是否

计算机算法设计与分析期末考试复习题

1、二分搜索算法是利用( A )实现的算法。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 2、下列不是动态规划算法基本步骤的是( A )。 A、找出最优解的性质 B、构造最优解 C、算出最优解 D、定义最优解 3、最大效益优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 4、最长公共子序列算法利用的算法是( B )。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 5. 回溯法解TSP问题时的解空间树是( A )。 A、子集树 B、排列树 C、深度优先生成树 D、广度优先生成树6.下列算法中通常以自底向上的方式求解最优解的是( B )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 7、衡量一个算法好坏的标准是(C )。 A 运行速度快 B 占用空间少 C 时间复杂度低 D 代码短 8、以下不可以使用分治法求解的是(D )。 A 棋盘覆盖问题 B 选择问题 C 归并排序 D 0/1背包问题 9. 实现循环赛日程表利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法 10、实现最长公共子序列利用的算法是( B )。 A、分治策略 B、动态规划法 C、贪心法 D、回溯法11.下面不是分支界限法搜索方式的是( D )。 A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先 12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。 A、备忘录法 B、动态规划法 C、贪心法 D、回溯法 13. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )。 A、重叠子问题 B、最优子结构性质 C、贪心选择性质 D、定义最优解14.广度优先是( A )的一搜索方式。 A、分支界限法 B、动态规划法 C、贪心法 D、回溯法 15.背包问题的贪心算法所需的计算时间为( B )。

算法设计与分析考试题及答案

1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_________,________,________,__________,__________。 2.算法的复杂性有_____________和___________之分,衡量一个算法 好坏的标准是______________________。 3.某一问题可用动态规划算法求解的显著特征是 ____________________________________。 4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y的一个最长公共子序列_____________________________。 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含___________。 6.动态规划算法的基本思想是将待求解问题分解成若干____________,先求解___________,然后从这些____________的解得到原问题的解。 7.以深度优先方式系统搜索问题解的算法称为_____________。 8.0-1背包问题的回溯算法所需的计算时间为_____________,用动态规划算法所需的计算时间为____________。 9.动态规划算法的两个基本要素是___________和___________。 10.二分搜索算法是利用_______________实现的算法。 二、综合题(50分) 1.写出设计动态规划算法的主要步骤。 2.流水作业调度问题的johnson算法的思想。

数学期末考试卷及答案解析

数学期末考试卷及答案解析 本文为大家整理了初二数学期末考试试卷及解析的相关内容, 希望能助大家一臂之力。 一、选择题(每小题3分,共24分)每题有且只有一个答案正确,请把你认为正确的答案前面的字母填入答题卡相应的空格内. 1.不等式的解集是()。 A BCD. 2.如果把分式中的x和y都扩大2倍,那么分式的值()。 A扩大2倍B不变C缩小2倍D扩大4倍. 3.若反比例函数图像经过点,则此函数图像也经过的点是()。 4.在和中,,如果的周长是16,面积是12,那么的周长、面积依次为()。 A8,3 B8,6 C4,3 D4,6. 5.下列命题中的假命题是()。 A互余两角的和是90°B全等三角形的面积相等. C相等的角是对顶角D两直线平行,同旁内角互补. 6.有一把钥匙藏在如图所示的16块正方形瓷砖的某一块下面,则钥匙藏在黑色瓷砖下面的概率是(). A B C D. 7.为抢修一段120米的铁路,施工队每天比原计划多修5米,

结果提前4天开通了列车,问原计划每天修多少米?若设原计划每天 修x米,则所列方程正确的是()。 ABCD. 8.如图,在直角梯形ABCD中,∠ABC=90°,AD∥BC, AD=4,AB=5,BC=6,点P是AB上一个动点, 当PC+PD的和最小时,PB的长为()。 A1B2C2.5D3. 二、填空题(每小题3分,共30分)将答案填写在答题卡相应 的横线上. 9、函数y=中,自变量的取值范围是. 10.在比例尺为1∶500000的中国地图上,量得江都市与扬 州市相距4厘米,那么江都市与扬州市两地的实际相距千米. 11.如图1,,,垂足为.若,则度. 12.如图2,是的边上一点,请你添加一个条件:,使. 13.写出命题“平行四边形的对角线互相平分”的逆命题: _______________. __________________________________________________________. 14.已知、、三条线段,其中,若线段是线段、的比例中项, 则=. 15.若不等式组的解集是,则.

算法设计与分析试卷及答案

湖南科技学院二○年学期期末考试 信息与计算科学专业年级《算法设计与分析》试题 考试类型:开卷试卷类型:C卷考试时量:120分钟 题号一二三四五总分统分人 得分 阅卷人 复查人 一、填空题(每小题3 分,共计30 分) 1、用O、Ω与θ表示函数f与g之间得关系______________________________。 2、算法得时间复杂性为,则算法得时间复杂性得阶为__________________________。 3、快速排序算法得性能取决于______________________________。 4、算法就是_______________________________________________________。 5、在对问题得解空间树进行搜索得方法中,一个活结点最多有一次机会成为活结点得就是_________________________。 6、在算法得三种情况下得复杂性中,可操作性最好且最有实际价值得就是_____情况下得时间复杂性。 7、大Ω符号用来描述增长率得下限,这个下限得阶越___________,结果就越有价值。。 8、____________________________就是问题能用动态规划算法求解得前提。 9、贪心选择性质就是指____________________________________________________________________________________________________________________。 10、回溯法在问题得解空间树中,按______________策略,从根结点出发搜索解空间树。 二、简答题(每小题10分,共计30分) 1、试述回溯法得基本思想及用回溯法解题得步骤。 2、有8个作业{1,2,…,8}要在由2台机器M1与M2组成得流水线上完成加工。每个作业加工得顺序都就是先在M1上加工,然后在M2上加工。M1与M2加工作业i所需得时间分别为: M110 2 8 12 6 9414

初一期末考试卷及答案

六年数学级期末考试卷 [卷首提示语] 亲爱的同学,这份试卷将再次记录你的自信、沉着、智慧和收获. 教师一直投给你信任的目光.请认真审题,看清要求,仔细答题,本卷满分100分,时间100分。祝你考出好成绩。 一、填空题(每题2分,共20分) 1.小军坐在教室的第3列第4行,用(3,4)表示,小红坐在第1列第6行,用( , )来表示,用(5,2)表示的同学坐在第( )列第( )行。 2.30厘米=( )米 45分=( )时 3.比40千克多20%的是( )千克。 4.元旦前,我市质检部门抽样检验了一种商品,结果有38件合格,2件不合格,请你计算这种商品的合格率是( )。 5.3:5.0化成最简整数比是( ):( )。 6.某校六(1)班有男生25人,女生26人,男生人数相当于总人数的( )。 7.小明练习投篮160次,命中率是60%,他有( )次命中。 8.画一个直径是6厘米的圆。它的周长是( )。 9. 一辆大小两个圆的半径比是2:1,那么大小两个圆的面积的比是( )。 10.甲居委会为灾区捐棉衣240件,比乙居委会多捐了20%,比乙居委会多捐棉衣( )件。 二、辩析题(每题1分,共10分) 1.种子发芽率最高是 100% ( ) 2、圆的周长与直径的比是 。 ( ) 3、参加60米赛跑,甲同学要15秒,乙同学要14秒。甲和乙跑步速度的比 是15:14。 ( ) 4、检验一批产品,100件是正品,3件是次品,次品率是3%。( ) 5、所有半径是2厘米的圆,它们的面积都相等。 ( ) 6、一个数除以真分数,商小于被除数。( ) 7、甲的3 1 相当于乙。这里应把甲看作单位“1”。( )

算法设计与分析课程设计报告

压缩软件课程设计书 一、问题描述: 建立一个文本文件,统计该文件中各字符频率,对各字符进行Huffman编码,将该文件至翻译成Huffman编码文件,再将Huffman编码文件翻译成原文件。 二、算法分析及思路: 对于该问题,我们做如下分析: (1)首先得构造出哈弗曼树,我们用函数HuffmanTree(int w[],int s[],int n)设计;(2)在构建哈弗曼树的基础上,进一步实现哈弗曼编码问题,我们用函数Huffmancode(char wen[])设计; (3)实现哈弗曼编码后再进一步实现哈弗曼译码问题,我们用函数Huffmandecode()设计; (4)其中编码问题中,得进一步统计出各个字符在文件中的频率,并进行一些必要的标记,我们用函数runhuffman(char wen[])设计; (5)在译码过程中,还有必要的一步是比较原文件与译码后的文件是否相同,我们用函数compare(char wen[])设计; (6)其中的文件输入我们用到类”fstream.h”中的输入输出流,并在运行的文件夹中建立一个文件名为逍遥游的文本文件,且在逍遥游文件中输入需要编码的数据。 三、主要解决的设计问题: 1.写一个对txt文件压缩和解压的程序,使用动态编码。 2.使用Huffman编码压缩和解压时,Huffman树的存储可以直接存储树结构,也可以存储所有字符的频度或权值,然后读取时建立Huffman树; 3.使用Huffman编码压缩和解压时,注意定义压缩码的结束标记,可以使用一个特殊的字符作为结束标记,也可以在压缩码之前存储其比特长度;如果使用一个特殊字符作为结束标记,则其频度为1,需要在建立Huffman树时把它看作一个独立的字符进行建树。 4.使用Huffman编码压缩和解压时,在一个缓冲区里面收集压缩码比特流,每当收集的比特数满8时,可以把这8比特通过位操作合并成一个字节写入文件(当然也可以收集满一定数目的字节后再写入文件)。写入文件的最小信息单位为字节。 四、程序设计的流程图:

算法设计与分析期末试题答案解析

1、用计算机求解问题的步骤: 1、问题分析 2、数学模型建立 3、算法设计与选择 4、算法指标 5、算法分析 6、算法实现 7、程序调试 8、结果整理文档编制 2、算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程 3、算法的三要素 1、操作 2、控制结构 3、数据结构 算法具有以下5个属性: 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。 确定性:算法中每一条指令必须有确切的含义。不存在二义性。只有一个入口和一个出口 可行性:一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。 输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。 输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。 算法设计的质量指标: 正确性:算法应满足具体问题的需求; 可读性:算法应该好读,以有利于读者对程序的理解;

健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。 效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。一般这两者与问题的规模有关。 经常采用的算法主要有迭代法、分而治之法、贪婪法、动态规划法、回溯法、分支限界法 迭代法 基本思想:迭代法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。 解题步骤:1、确定迭代模型。根据问题描述,分析得出前一个(或几个)值与其下一个值的迭代关系数学模型。 2、建立迭代关系式。迭代关系式就是一个直接或间接地不断由旧值递推出新值的表达式,存储新值的变量称为迭代变量 3、对迭代过程进行控制。确定在什么时候结束迭代过程,这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一

算法设计与分析课程期末试卷-A卷(自测 )

华南农业大学期末考试试卷(A卷) 2008学年第一学期考试科目:算法分析与设计 考试类型:(闭卷)考试时间:120分钟 学号姓名年级专业 一、选择题(20分,每题2分) 1.下述表达不正确的是。 A.n2/2 + 2n的渐进表达式上界函数是O(2n) B.n2/2 + 2n的渐进表达式下界函数是Ω(2n) C.logn3的渐进表达式上界函数是O(logn) D.logn3的渐进表达式下界函数是Ω(n3) 2.当输入规模为n时,算法增长率最大的是。 A.5n B.20log2n C.2n2D.3nlog3n 3.T(n)表示当输入规模为n时的算法效率,以下算法效率最优的是。A.T(n)= T(n – 1)+1,T(1)=1 B.T(n)= 2n2 C.T(n)= T(n/2)+1,T(1)=1 D.T(n)= 3nlog2n 4.在棋盘覆盖问题中,对于2k×2k的特殊棋盘(有一个特殊方块),所需的L型骨 牌的个数是。 A.(4k– 1)/3 B.2k /3 C.4k D.2k 5.在寻找n个元素中第k小元素问题中,若使用快速排序算法思想,运用分治算法 对n个元素进行划分,应如何选择划分基准?下面答案解释最合理。A.随机选择一个元素作为划分基准 B.取子序列的第一个元素作为划分基准 C.用中位数的中位数方法寻找划分基准 D.以上皆可行。但不同方法,算法复杂度上界可能不同

6. 现在要盖一所邮局为这9个村庄服务,请问邮局应该盖在 才能使到邮局到这9个村庄的总距离和最短。 A .(4.5,0) B .(4.5,4.5) C .(5,5) D .(5,0) 7. n 个人拎着水桶在一个水龙头前面排队打水,水桶有大有小,水桶必须打满水, 水流恒定。如下 说法不正确? A .让水桶大的人先打水,可以使得每个人排队时间之和最小 B .让水桶小的人先打水,可以使得每个人排队时间之和最小 C .让水桶小的人先打水,在某个确定的时间t 内,可以让尽可能多的人打上水 D .若要在尽可能短的时间内,n 个人都打完水,按照什么顺序其实都一样 8. 分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分 别解决子问题,最后将子问题的解组合起来形成原问题的解。这要求原问题和子问题 。 A .问题规模相同,问题性质相同 B .问题规模相同,问题性质不同 C .问题规模不同,问题性质相同 D .问题规模不同,问题性质不同 9. 对布线问题,以下 是不正确描述。 A .布线问题的解空间是一个图 B .可以对方格阵列四周设置围墙,即增设标记的附加方格的预处理,使得算法简化对边界的判定 C .采用广度优先的标号法找到从起点到终点的布线方案(这个方案如果存在的话)不一定是最短的 D .采用先入先出的队列作为活结点表,以终点b 为扩展结点或活结点队列为空作为算法结束条件 10. 对于含有n 个元素的子集树问题,最坏情况下其解空间的叶结点数目为 。 A .n! B .2n C .2n+1-1 D . ∑=n i i n 1 !/! 答案:DACAD CACCB

2017初三语文期末考试卷及答案

2017初三语文期末考试卷及答案 语文是口头和书面的语言和言语的合称,是语言规律和运用语言规律所形成的言语作品的言语活动过程的总和。接下来我们一起练习2017初三语文期末卷及答案。 初三语文卷及答案2017 一、基础部分(24分,除标明分数外,其余一律2分) 1、下列加点字注音全对的一项 ( ) A.造诣(yì) 诓骗(kuāng ) 辛苦恣睢(zì ) 怒不可遏(è ) B.参(cān)差襁(qiǎng) 褓恪(kè)尽职守锲(qì)而不舍 C.狡黠(jié) 留滞( zhì) 生活拮据(jū) 成吉思汗( hàn ) D.栖(qī)息汲取 (jì) 重蹈覆辙(chè) 味同嚼蜡(jiáo) 2、下列书写完全正确的一项: ( ) A、脑羞成怒黎明署光巨星勋落鞠躬尽瘁 B、一代天骄舐犊情深涕泗横流格物致知 C、良师益友不屈不饶气吞斗牛刻骨名心 D、涉世未深度德量力无与沦比轻而一举 3、默写(8分) ① 莫道不消魂,帘卷西风,。 ② ______________ ,背灼炎天光。 ③ __________________,人迹板桥霜。 ④ 池上碧苔三四点,______________________。 ⑤《沁园春?雪》中描写雪后群山、高原壮观景象,化静为动的对偶诗句是 _______________ , __________________。 ⑥《渔家傲》中抒发将士们既想建功立业,又思念家乡的诗句是___________________,____________________________。

4、下列句子中加点的成语使用不正确的一项( ) A、造型独特、雄伟壮观的“鸟巢”,是设计师和建筑师们呕心沥血的结果,它已成为我国奥运会场馆的标志性建筑。 B、对这一转变做出了巨大贡献的,有一位长期以来鲜为人知的科学家:邓稼先。 C、这么多树根在大地里面触类旁通,吸收着大地母亲给予的食物的供养。 D、“正确答案只有一个”这种思维模式,在我们头脑中已不知不觉地根深蒂固。 5、下段文字的语序被打乱了,正确的语序应是(只填序号)______________ ① 所以,丙烷被幸运地选作火炬的燃料。 ② 再说丙烷燃烧时产生的火焰呈亮黄色,火炬手跑动时,飘动的火焰在不同的背景下都比较醒目。 ③ 为什么北京奥运会火炬的燃料选择了丙烷呢? ④ 丙烷不仅符合环保要求,而且可以适应比较宽的温度范围,在零下40摄氏度时 仍能产生1个以上饱和蒸汽压,高于外界大气压,形成燃烧。 ⑤ 因为丙烷燃烧后主要产生水蒸气和二氧化碳,不会对环境造成污染。 6、某校九年级学生拟开展一个“好读书、读好书”的主题活动,请按老师要求,做好以下准备工作。(8 分) 书名作者你熟悉的作品中某个人物人物的主要性格特征 ①撰写此次活动的开场白。(3 分) 要求:必须引用一句有关读书的名言;能够运用比喻或排比的修辞手法。 ② 请你为大家推荐一本你最近读过的一本课外书,写出推荐理由。(50 字以内)( 3 分) = ③ 假设著名学者(作家)余秋雨来到活动现场接受师生的采访,允许每人根据此次活 动的主题提一个问题。请你将要说的话写下来。(2 分) 二、阅读做题(46分,除标明分数外,其余一律2分) (一)

算法设计与分析课程报告

算法设计与分析课程报告 第一章 算法问题求解基础 1、算法的概念:算法是指解决问题的一种方法或过程,是由若干条指令组成的有穷序列。 2、算法的特性 ① 有穷性:一个算法必须保证执行有限步之后结束; ② 确切性:算法的每一步骤必须有确切的定义; ③ 输入: 一个算法有 0 个或多个输入, 法 本身定除了初始条件; ④ 输出: 一个算法有一个或多个输出, 是毫无意义的; ⑤可行性:算法原则上能够精确地运行, 而且人们用笔和纸做有限次运算后即可完成 3、算法与程序的关系: 区别:程序可以不一定满足可终止性。但算法必须在有限时间内结束; 程序可以没有输出 ,而算法则必须有输出; 算法是面向问题求解的过程描述,程序则是算法的实现。 联系:程序是算法用某种程序设计语言的具体实现; 程序可以不满足算法的有限性性质。 4、算法描述方式:自然语言,流程图,伪代码,高级语言。 第二章 算法分析基础 1、算法复杂性分析: 算法复杂性的高低体现运行该算法所需计算机资源(时间,空间)的多少。 算法复杂性度量: 期望反映算法本身性能,与环境无关。 理论上不能用算法在机器上真正的运行开销作为标准(硬件性能、代码质量影响) 般是针对问题选择基本运算和基本存储单位,用算法针对基本运算与基本存储单 以刻画运算对象的初始情况, 所谓 0 个输入是指算 以反映对输入数据加工后的结果。 没有输出的算法

位的开销作为标准。算法复杂性C依赖于问题规模N、算法输入I和算法本身A。即C=F(N, I,A)。 第五章分治法 1、递归算法:直接或间接地调用自身的算法。 用函数自身给出定义的函数称为递归函数。 注:边界条件与递归方程是递归函数的二个要素。 实例:①阶乘函数; ② Fibonacci 数列;③ Ackerman 函数; ④排列问题; ⑤整数划分问题; ⑥ Hanoi 塔问题 优缺点:①优点:结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性, 因此它为设计算法、调试程序带来很大方便。 ②缺点:递归算法的运行效率低,无论是耗费的计算时间还是占用的存储空间都比非递归算法要多。 2、分治法的设计思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。(将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解) 分治法所能解决的问题一般具有以下几个特征: ①该问题的规模缩小到一定的程度就可以容易地解决; ②该问题可以分为若干个规模更小的相同问题,即该问题具有最有子结构性质; ③利用该问题分解出的子问题的解可以合并为该问题的解; ④该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。 第六章贪心法 1、贪心算法的思想:

相关文档
最新文档