《算法设计与分析考试题目及答案整理.pptxVIP

  • 62
  • 0
  • 约1.63千字
  • 约 23页
  • 2021-01-17 发布于广东
  • 举报

《算法设计与分析考试题目及答案整理.pptx

《算法分析与设计》期末复习题;1;3;4;4;2. 有 11 个待安排的活动,它们具有下表所示的开始时间与结束时间,如果 以贪心算法求解这些活动的最优安排(即为活动安排问题:在所给的活 动集合中选出最大的相容活动子集合),得到的最大相容活动子集合为活 动( {1,4,8,11} )。;4;4;4;10;11;12;13;; ;16;17; ; ;for each vertex v∈V[G] do { d[v]=∞; 1 } d[s]=0 Relax(u,v,w) if d[v]d[u]+w(u,v) then { d[v]=d[u]+w[u,v]; 2 } dijkstra(G,w,s) 1. Init-single-source(G,s) 2. S=Φ 3. Q=V[G] 4.while Q Φ do u=min(Q) S=S∪{u} for each vertex 3 do 4 四、算法理解题(本题 10 分) 根据优先队列式分支限界法,求 下图中从v1 点到v9 点的单源最 短路径,请画出求得最优解的解 空间树。要求中间被舍弃的结点 用×标记,获得中间解的结点用 单圆圈○框起,最优解用双圆圈 ◎框起。 五、算法理解题(本题 5 分) 设有 n=2k 个运动员要进行循环赛,现设计一个满足以下要求的比赛日程表: ①每个选手必须与其他n-1 名选手比赛各一次; ②每个选手一天至多只能赛一次; ③循环赛要在最短时间内完成。 如果 n=2k,循环赛最少需要进行几天; 当 n=23=8 时,请画出循环赛日程表。 六、算法设计题(本题 15 分) 分别用贪心算法、动态规划法、回溯法设计 0-1 背包问题。要求:说明所使 用的算法策略;写出算法实现的主要步骤;分析算法的时间。 七、算法设计题(本题 10 分) 通过键盘输入一个高精度的正整数 n(n 的有效位数≤240),去掉其中任意 s 个数字后,剩下的数字按原左右次序将组成一个新的正整数。编程对给定的 n 和 s,寻找一种方案,使得剩下的数字组成的新数最小。 【样例输入】 178543 S=4 【样例输出】 13 ;20;(1) !M[j]!L[i+j]!R[i-j+N] (2) M[j]=L[i+j]=R[i-j+N]=1; (3) try(i+1,M,L,R,A) (4) A[i][j]=0 (5) M[j]=L[i+j]=R[i-j+N]=0 2、数塔问题。 (1)c=r (2)t[r][c]+=t[r+1][c] (3)t[r][c]+=t[r+1][c+1] 3、Hanoi 算法 (1)move(a,c) (2)Hanoi(n-1, a, c , b) Move(a,c) 4、(1)p[v]=NIL (2)p[v]=u (3) v∈adj[u] Relax(u,v,w) 四、算法理解题(本题 10 分) 五、(1)8 天(2 分); (2)当 n=23=8 时,循环赛日程表(3 分)。 六、算法设计题(本题 15 分) (1)贪心算法 O(nlog(n)) 首先计算每种物品单位重量的价值 Vi/Wi,然后,依贪心选择策略,将尽 可能多的单位重量价值最高的物品装入背包。若将这种物品全部装入背包 后,背包内的物品总重量未超过C,则选择单位重量价值次高的物品并尽 可能多地装入背包。依此策略一直地进行下去,直到背包装满为止。 具体算法可描述如下: void Knapsack(int n,float M,float v[],float w[],float x[]) ;22;23

文档评论(0)

1亿VIP精品文档

相关文档