计算机算法设计分析试题及答案
计算机算法设计和分析习题及答案解析
计算机算法设计和分析习题及答案解析This manuscript was revised on November 28, 2020《计算机算法设计与分析》习题及答案一.选择题1、二分搜索算法是利用( A )实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( A )。
A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是(A )的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法4. 回溯法解旅行售货员问题时的解空间树是( A )。
A、子集树B、排列树C、深度优先生成树D、广度优先生成树5.下列算法中通常以自底向上的方式求解最优解的是(B )。
A、备忘录法B、动态规划法C、贪心法D、回溯法6、衡量一个算法好坏的标准是( C )。
A 运行速度快B 占用空间少C 时间复杂度低D 代码短7、以下不可以使用分治法求解的是( D )。
A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题8. 实现循环赛日程表利用的算法是(A )。
A、分治策略B、动态规划法C、贪心法D、回溯法9.下面不是分支界限法搜索方式的是(D )。
A、广度优先B、最小耗费优先C、最大效益优先D、深度优先10.下列算法中通常以深度优先方式系统搜索问题解的是(D )。
A、备忘录法B、动态规划法C、贪心法D、回溯法11.备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法D、回溯法12.哈夫曼编码的贪心算法所需的计算时间为(B )。
A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)13.分支限界法解最大团问题时,活结点表的组织形式是(B )。
A、最小堆B、最大堆C、栈D、数组14.最长公共子序列算法利用的算法是(B)。
A、分支界限法B、动态规划法C、贪心法D、回溯法15.实现棋盘覆盖算法利用的算法是(A )。
A、分治法B、动态规划法C、贪心法D、回溯法16.下面是贪心算法的基本要素的是(C )。
电大计算机本科_算法设计与分析(期末考试复习题含答案)
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. 回溯法解旅行售货员问题时的解空间树是( 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、下列随机算法中运行时有时候成功有时候失败的是(C )A 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是( D )。
A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D ).A、备忘录法B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法D、回溯法14.哈弗曼编码的贪心算法所需的计算时间为( B )。
A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是( B ).A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。
A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是( A ).A、分治法B、动态规划法C、贪心法D、回溯法18.下面是贪心算法的基本要素的是( C )。
(完整word版)计算机算法设计分析试题及答案
算法设计与分析试卷一、填空题(20分,每空2分)1、算法的性质包括输入、输出、___、有限性。
2、动态规划算法的基本思想就将待求问题_____、先求解子问题,然后从这些子问题的解得到原问题的解。
3、设计动态规划算法的4个步骤:(1)找出____,并刻画其结构特征。
(2)_______。
(3)_______。
(4)根据计算最优值得到的信息,_______。
4、流水作业调度问题的johnson算法:(1)令N1=___,N2={i|ai>=bj};(2)将N1中作业依ai的___。
5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_____。
6、最优二叉搜索树即是___的二叉搜索树。
二、综合题(50分)1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)____(5分)2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)3、最大子段和问题的简单算法(10分)int maxsum(int n,int *a,int & bestj){intsum=0;for (int i=1;i<=n;i++)for (int j=i;j<=n;j++)int thissum=0;for(int k=i;k<=j;k++)_____;if(thissum>sum){sum=thissum;______;bestj=j;}}return sum;}4、设计最优二叉搜索树问题的动态规划算法OptimalBinarysearchTree? (15分)Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w) {for(int i=0;i<=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=____;} for(int r=0;r<n;r++)for(int i=1;i<=n-r;i++){int j=i+r;w[i][j]=w[i][j-1]+a[j]+b[j];m[i][j]=______;s[i][j]=i;for(int k=i+1;k<=j;k++){int t=m[i][k-1]+m[k+1][j];if(_____) {m[i][j]=t; s[i][j]=k;}}m[i][j]=t; s[i][j]=k;}}5、设n=4, (a1,a2,a3,a4)=(3,4,8,10), (b1,b2,b3,b4)=(6,2,9,15) 用两种方法求4个作业的最优调度方案并计算其最优值?(15分)三、简答题(30分)1、将所给定序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有哪三种情形?(10分)答:2、由0——1背包问题的最优子结构性质,可以对m(i,j)建立怎样的递归式? (10分)3、0——1背包求最优值的步骤分为哪几步?(10分)参考答案:填空题:确定性分解成若干个子问题最优解的性质递归地定义最优值以自底向上的方式计算出最优值构造最优解{i|ai<bi} ai的非减序排序;将N2中作业依bi的非增序排序min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}最小平均查找长度综合题:20 min{ai+T(N-{i},bi)}(1=<i<=n) thissum+=a[k] besti=i 0 m[i+1][j] t<m[i][j]法一:min(ai,bj)<=min(aj,bi)因为min(a1,b2)<=min(a2,b1)所以1→2 (先1后2)由min(a1,b3)<=min(a3,b1)得1→3 (先1后3)同理可得:最后为1→3→4→2法二:johnson算法思想N1={1,3,4} N2={2}N¹1={1,3,4} N¹2={2}所以 N¹1→N¹2得:1→3→4→2简答题:1 、(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。
(完整版)算法设计与分析考试题及答案
一、填空题(20分)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.若n=4,在机器M1和M2上加工作业i所需的时间分别为a i和b i,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。
4.使用回溯法解0/1背包问题:n=3,C=9,V={6,10,3},W={3,4,4},其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。
中科院计算机算法分析与设计习题1-2答案
Sum+=a[i][k]*b[k][j]; C[i][j]=sum; } }
总计
s/e 频率 总步数
00
0
1 m+1 m+1 1 m*(p+1) m*p+m 1 m*p m*p 1 m*p*(n+1) m*p*n+m*p 1 m*p*n m*p*n 1 m*p m*p
1 A 1
2 B1
3 C1
7 G5
DFN(B):=num= 2, L(B):=num=2, num+:=3;
∵ DFN(C)=0 ∴DFNL(C,B)
DFN(A)=10, A=A, 无操作。
4
D5 4
E1
6
DFN(C):= num=3, L(C):=num=3,num+:=4; DFN(B)=10, B=B, 无操作.
template<class T>
template<class T>
bool MinMax(T a[], int n, int& Min, int& Max) bool MinMax(T a[], int n, int& Min, int& Max)
{ if(n<1) return false;
{ if(n<1) return false;
解,得
N2*6t04t3*2n*t0
N8 32n
2020/1/1
3)若进一步改进算法,最新的算法的时间复杂度为 T(n) 8,其余条件不变,
在新机器上运行,在 秒内t能够解决输入规模为多大的问题?
(完整版)算法设计与分析考试题及答案,推荐文档
____________________________________。 4.若序列 X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列
X 和 Y 的一个最长公共子序列_____________________________。 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至
和
之分。
5、 f(n)= 6×2n+n2,f(n)的渐进性态 f(n)= O(
)
6、 贪心算法总是做出在当前看来
的选择。也就是说贪心算法并不从整体最优考
虑,它所做出的选择只是在某种意义上的
。
7、 许多可以用贪心算法求解的问题一般具有 2 个重要的性质:
性质和
性质。
二、简答题(本题 25 分,每小题 5 分)
五、算法理解题(本题 5 分) 设有 n=2k 个运动员要进行循环赛,
现设计一个满足以下要求的比赛日程表:
①每个选手必须与其他 n-1 名选手比赛各一次; ②每个选手一天至多只能赛一次;
③循环赛要在最短时间内完成。
我去(人1)如也果 就n=2k有,循人环赛!最少为需要U进R行扼几天腕; 入站内信不存在向你偶同意调剖沙 (2)当 n=23=8 时,请画出循环赛日程表。
六、算法设计题(本题 15 分) 分别用贪心算法、动态规划法、回溯法设计 0-1 背包问题。要求:说明所使用的算法
策略;写出算法实现的主要步骤;分析算法的时间。 七、算法设计题(本题 10 分)
建议收藏下载本文,以便随时学习! 通过键盘输入一个高精度的正整数 n(n 的有效位数≤240),去掉其中任意 s 个数字后, 剩下的数字按原左右次序将组成一个新的正整数。编程对给定的 n 和 s,寻找一种方案, 使得剩下的数字组成的新数最小。 【样例输入】 178543 S=4 【样例输出】 13
算法分析与设计试题及答案
算法分析与设计试题及答案一、选择题1. 下列哪个是属于分治算法的例子?A. 冒泡排序B. 归并排序C. 顺序查找D. 选择排序答案:B2. 在排序算法中,时间复杂度最优的是:A. 冒泡排序B. 插入排序C. 归并排序D. 快速排序答案:C3. 哪个不是动态规划的特点?A. 具有重叠子问题B. 通过递归求解C. 需要保存子问题的解D. 具有最优子结构答案:B4. 在图的广度优先搜索算法中,使用的数据结构是:A. 栈B. 队列C. 数组D. 堆栈答案:B5. 在最小生成树算法中,下列哪个不属于贪心策略?A. Kruskal算法B. Prim算法C. Dijkstra算法D. Prim-Kruskal混合算法答案:C二、简答题1. 请简述分治算法的思想和应用场景。
答案:分治算法的思想是将原问题分解成若干个规模较小且类似的子问题,然后解决子问题,最后将子问题的解合并得到原问题的解。
其应用场景包括排序算法(如归并排序、快速排序)、搜索算法(如二分查找)等。
2. 什么是动态规划算法?请给出一个动态规划算法的示例。
答案:动态规划算法是一种通过将问题分解成子问题并解决子问题来解决复杂问题的方法。
它的特点是具有重叠子问题和最优子结构性质。
以斐波那契数列为例,可以使用动态规划算法求解每一项的值,而不需要重复计算。
3. 图的深度优先搜索和广度优先搜索有什么区别?答案:图的深度优先搜索(Depth First Search,DFS)是一种先访问子节点再访问兄弟节点的遍历算法,通常使用递归或者栈实现。
而广度优先搜索(Breadth First Search,BFS)则是以层次遍历的方式展开搜索,使用队列来实现。
DFS更适合用于搜索路径,BFS则适用于寻找最短路径等。
4. 请简述贪心算法的特点及其应用场景。
答案:贪心算法的特点是每一步都采取当前状态下最优的选择,以期望得到全局最优解。
然而,贪心算法并不一定能求解所有问题的最优解,但对于一些特定问题,贪心算法往往能得到近似最优解。
算法设计与分析试卷及答案
湖南科技学院二○年学期期末考试信息与计算科学专业年级《算法设计与分析》试题考试类型:开卷试卷类型:C 卷考试时量:120分钟性的阶为结点的是 指1.试述回溯法的基本思想及用回溯法解题的步骤。
2.有8个作业{1,2,…,8}要在由2台机器M1和M2组成的流水线上完成加工。
每个作业加工的顺序都是先在M1给出一个最优调度方案,使得从第一个作业在机器M1上开始加工,到最后一个作业在机器M2上加工完成所需的时间最少,并计算所需的最少时间。
答:最优调度方案为所需的最少时间为:_______________________3.根据优先队列式分支限界法,求下图中从v1点到v9点的单源最短路径,请画出求得最优解的解空间树。
要求中间被舍弃的结点用×标记,获得中间解的结点用单圆圈○框起(如),最优解用双圆圈◎框起。
三、算法填空(每空2分,共计10分)设R={r1,r2,...,r n}是要进行排列的n个元素,其中元素r1,r2,...,r n可能相同,试设计一个算法,列出R的所有不同排列,并给出不同排列的总数。
算法如下,填写缺失的语句。
template<typenameType>Swap(R[k],R[i]);}}}四、算法设计(共计15分)设有n个程序{1,2,3...,n}要存放在长度为L的磁带上。
程序i存放在磁带上的长度是Li,1≤i≤n。
程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序,在保证存储最多程序的前提下还要求磁带的利用率达到最大。
(1)给出求解存储最多程序的算法,并证明算法的正确性;(2)给出求解使磁带的利用率达到最大的方案的算法思路。
五、算法设计(共计15分)通过键盘输入一个高精度的正整数n (n 的有效位数≤240),去掉其中任意s 个数字后,剩下的数字按原左右次序将组成一个新的正整数。
对给定的n 和s ,寻找一种方案,使得剩下的数字组成的新最小。
计算机算法与设计复习题(含答案) (1)
一、选择题1、衡量一个算法好坏的标准是(C )。
(A)运行速度快(B)占用空间少(C)时间复杂度低(D)代码短2、记号O的定义正确的是(A)。
(A)O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤f(n) ≤cg(n) };(B)O(g(n)) = { f(n) | 存在正常数c和n0使得对所有n≥n0有:0≤cg(n) ≤f(n) };(C)O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0 有:0 ≤f(n)<cg(n) };(D)O(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n0 >0使得对所有n≥n0 有:0 ≤cg(n) < f(n) };3、二分搜索算法是利用( A )实现的算法。
(A)分治策略(B)动态规划法(C)贪心法(D)回溯法4、使用分治法求解不需要满足的条件是(A )。
(A)子问题必须是一样的(B)子问题不能够重复(C)子问题的解可以合并(D)原问题和子问题使用相同的方法解5、合并排序算法是利用(A)实现的算法。
(A)分治策略(B)动态规划法(C)贪心法(D)回溯法6、实现大整数的乘法是利用(C )的算法。
(A)贪心法(B)动态规划法(C)分治策略(D)回溯法7、以下不可以使用分治法求解的是(D )。
(A)棋盘覆盖问题(B)选择问题(C)归并排序(D)0/1背包问题8、实现循环赛日程表利用的算法是( A )。
(A)分治策略(B)动态规划法(C)贪心法(D)回溯法9、实现棋盘覆盖算法利用的算法是( A )。
(A)分治法(B)动态规划法(C)贪心法(D)回溯法10、矩阵连乘问题的算法可由(B)设计实现。
(A)分支界限算法(B)动态规划算法(C)贪心算法(D)回溯算法11、实现大整数的乘法是利用的算法( C )。
(A)贪心法(B)动态规划法(C)分治策略(D)回溯法12、最长公共子序列算法利用的算法是(B)(A)分支界限法(B)动态规划法(C )贪心法(D)回溯法13、下列算法中通常以自底向上的方式求解最优解的是(B )(A)备忘录法(B)动态规划法(C)贪心法(D)回溯法14、下列是动态规划算法基本要素的是(D)(A)定义最优解(B)构造最优解(C)算出最优解(D)子问题重叠性质15、下列不是动态规划算法基本步骤的是( A )。
中科院计算机算法分析与设计_习题1-2_答案
2)证明:除结点v外,只有当结点w满足s[w]=0时才被压入栈中,因此每 个结点至多有一次被压入栈中,搜索不会出现重叠和死循环现象,对于每
template<class T> bool MinMax(T a[], int n, int& Min, int& Max) { if(n<1) return false; Min=Max=0; //初始化 for(int i=1; i<n; i++){ if(a[Min]>a[i]) Min=i; if(a[Max]<a[i]) Max=i; } return true; } 最好,最坏,平均比较次数都是 2*(n-1)
2-连通
割点
4 5
D E
4 5
(1,2,3,4,0,0,0) (1,1,1,4,1,0,0)
{(C,D)};
C
6
F
6
(1,1,1,4,1,6,0)
7
G
7
(1,1,1,4,1,5,5)
(E,A), {(G,E),(F,G), (E,F)} (B,C), (A,B) {(E,A),(B,C),(A,B)}
3.设G是具有n个顶点和m条边的无向图,如果G是连通的,而且满足m = n-1,
证明G是树。 4.假设用一个n×n的数组来描述一个有向图的n×n邻接矩阵,完成下面工作
:
1)编写一个函数以确定顶点的出度,函数的复杂性应为 2)编写一个函数以确定图中边的数目,函数的复杂性应为 3)编写一个函数删除边(i,j),并确定代码的复杂性。 5.实现图的D-搜索算法。要求用ALGEN语言写出算法的伪代码, 或者用一种计算机高级语言写出程序。 ; (n)
算法题--计算机算法设计与分析期末试题4套(含答案)
(1)用计算机求解问题的步骤:1、问题分析2、数学模型建立3、算法设计与选择4、算法指标5、算法分析6、算法实现7、程序调试8、结果整理文档编制(2)算法定义:算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程(3)算法的三要素1、操作2、控制结构3、数据结构算法具有以下5个属性:有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
确定性:算法中每一条指令必须有确切的含义。
不存在二义性。
只有一个入口和一个出口可行性:一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。
输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。
输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。
算法设计的质量指标:正确性:算法应满足具体问题的需求;可读性:算法应该好读,以有利于读者对程序的理解;健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。
效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。
一般这两者与问题的规模有关。
经常采用的算法主要有迭代法、分而治之法、贪婪法、动态规划法、回溯法、分支限界法迭代法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。
利用迭代算法解决问题,需要做好以下三个方面的工作:一、确定迭代模型。
在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
二、建立迭代关系式。
所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。
迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
三、对迭代过程进行控制。
在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。
不能让迭代过程无休止地重复执行下去。
迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。
电大计算机本科_算法设计与分析(期末考试复习题含答案)
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. 回溯法解旅行售货员问题时的解空间树是( 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、下列随机算法中运行时有时候成功有时候失败的是(C )A 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是( D )。
A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是( D )。
A、备忘录法B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法D、回溯法14.哈弗曼编码的贪心算法所需的计算时间为( B )。
A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)15.分支限界法解最大团问题时,活结点表的组织形式是( B )。
A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是( B )。
A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是( A )。
计算机算法设计与分析期末考试复习题
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. 回溯法解旅行售货员问题时的解空间树是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、下列随机算法中运行时有时候成功有时候失败的是C A 数值概率算法 B 舍伍德算法 C 拉斯维加斯算法 D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是D ;A、广度优先B、最小耗费优先C、最大效益优先D、深度优先12.下列算法中通常以深度优先方式系统搜索问题解的是D ;A、备忘录法B、动态规划法C、贪心法D、回溯法13.备忘录方法是那种算法的变形; BA、分治法B、动态规划法C、贪心法D、回溯法14.哈弗曼编码的贪心算法所需的计算时间为B ;A、On2nB、OnlognC、O2nD、On15.分支限界法解最大团问题时,活结点表的组织形式是B ;A、最小堆B、最大堆C、栈D、数组16.最长公共子序列算法利用的算法是B ;A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是A ;A、分治法B、动态规划法C、贪心法D、回溯法18.下面是贪心算法的基本要素的是C ;A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解19.回溯法的效率不依赖于下列哪些因素 DA.满足显约束的值的个数B. 计算约束函数的时间C. 计算限界函数的时间D. 确定解空间的时间20.下面哪种函数是回溯法中为避免无效搜索采取的策略BA.递归函数 B.剪枝函数C;随机数函数 D.搜索函数21、下面关于NP问题说法正确的是BA NP问题都是不可能解决的问题B P类问题包含在NP类问题中C NP完全问题是P类问题的子集D NP类问题包含在P类问题中22、蒙特卡罗算法是B 的一种;A、分支界限算法B、概率算法C、贪心算法D、回溯算法23.下列哪一种算法不是随机化算法CA. 蒙特卡罗算法B. 拉斯维加斯算法C.动态规划算法D.舍伍德算法24. D 是贪心算法与动态规划算法的共同点;A、重叠子问题B、构造最优解C、贪心选择性质D、最优子结构性质25. 矩阵连乘问题的算法可由B设计实现;A、分支界限算法B、动态规划算法C、贪心算法D、回溯算法26. 分支限界法解旅行售货员问题时,活结点表的组织形式是A ;A、最小堆B、最大堆C、栈D、数组27、Strassen矩阵乘法是利用A 实现的算法;A、分治策略B、动态规划法C、贪心法D、回溯法29、使用分治法求解不需要满足的条件是A ;A 子问题必须是一样的B 子问题不能够重复C 子问题的解可以合并D 原问题和子问题使用相同的方法解30、下面问题B 不能使用贪心法解决;A 单源最短路径问题B N皇后问题C 最小花费生成树问题D 背包问题31、下列算法中不能解决0/1背包问题的是AA 贪心法B 动态规划C 回溯法D 分支限界法32、回溯法搜索状态空间树是按照C 的顺序;A 中序遍历 B 广度优先遍历 C 深度优先遍历 D 层次优先遍历33、下列随机算法中运行时有时候成功有时候失败的是CA 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法34.实现合并排序利用的算法是A ;A、分治策略B、动态规划法C、贪心法D、回溯法35.下列是动态规划算法基本要素的是D ;A、定义最优解B、构造最优解C、算出最优解D、子问题重叠性质36.下列算法中通常以自底向下的方式求解最优解的是B ;A、分治法B、动态规划法C、贪心法D、回溯法37.采用广度优先策略搜索的算法是A ;A、分支界限法B、动态规划法C、贪心法D、回溯法38、合并排序算法是利用A 实现的算法;A、分治策略B、动态规划法C、贪心法D、回溯法39、在下列算法中得到的解未必正确的是B ;A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法40、背包问题的贪心算法所需的计算时间为BA、On2nB、OnlognC、O2nD、On41.实现大整数的乘法是利用的算法C ;A、贪心法B、动态规划法C、分治策略D、回溯法42.0-1背包问题的回溯算法所需的计算时间为AA、On2nB、OnlognC、O2nD、On43.采用最大效益优先搜索方式的算法是A ;A、分支界限法B、动态规划法C、贪心法D、回溯法44.贪心算法与动态规划算法的主要区别是B ;A、最优子结构B、贪心选择性质C、构造最优解D、定义最优解45. 实现最大子段和利用的算法是B ;A、分治策略B、动态规划法C、贪心法D、回溯法46.优先队列式分支限界法选取扩展结点的原则是C ;A、先进先出B、后进先出C、结点的优先级D、随机47.背包问题的贪心算法所需的计算时间为B ;A、On2nB、OnlognC、O2nD、On48、广度优先是A 的一搜索方式;A、分支界限法B、动态规划法C、贪心法D、回溯法49、舍伍德算法是B 的一种;A、分支界限算法B、概率算法C、贪心算法D、回溯算法50、在下列算法中有时找不到问题解的是B ;A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法51下列哪一种算法是随机化算法DA. 贪心算法B. 回溯法C.动态规划算法D.舍伍德算法52. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的B ;A、重叠子问题B、最优子结构性质C、贪心选择性质D、定义最优解53.采用贪心算法的最优装载问题的主要计算量在于将集装箱依其重量从小到大排序,故算法的时间复杂度为 B ;A、On2nB、OnlognC、O2nD、On54. 以深度优先方式系统搜索问题解的算法称为 D ;A、分支界限算法B、概率算法C、贪心算法D、回溯算法55. 实现最长公共子序列利用的算法是B ;A、分治策略B、动态规划法C、贪心法D、回溯法二、填空题1.算法的复杂性有时间复杂性和空间复杂性之分;2、程序是算法用某种程序设计语言的具体实现;3、算法的“确定性”指的是组成算法的每条指令是清晰的,无歧义的;4.矩阵连乘问题的算法可由动态规划设计实现;5、拉斯维加斯算法找到的解一定是正确解;6、算法是指解决问题的一种方法或一个过程 ;7、从分治法的一般设计模式可以看出,用它设计出的程序一般是递归算法 ;8、问题的最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征;9、以深度优先方式系统搜索问题解的算法称为回溯法 ;10、数值概率算法常用于数值问题的求解;11、计算一个算法时间复杂度通常可以计算循环次数、基本操作的频率或计算步;12、利用概率的性质计算近似值的随机算法是数值概率算法,运行时以一定的概率得到正确解的随机算法是__蒙特卡罗算法_____________________;14、解决0/1背包问题可以使用动态规划、回溯法和分支限界法,其中不需要排序的是动态规划 ,需要排序的是回溯法 ,分支限界法 ;15、使用回溯法进行状态空间树裁剪分支时一般有两个标准:约束条件和目标函数的界,N皇后问题和0/1背包问题正好是两种不同的类型,其中同时使用约束条件和目标函数的界进行裁剪的是 0/1背包问题 ,只使用约束条件进行裁剪的是 N皇后问题 ;17、矩阵连乘问题的算法可由动态规划设计实现;18、拉斯维加斯算法找到的解一定是正确解;19.贪心算法的基本要素是贪心选择质和最优子结构性质 ;21. 动态规划算法的基本思想是将待求解问题分解成若干子问题 ,先求解子问题 ,然后从这些子问题的解得到原问题的解; 算法是由若干条指令组成的有穷序列,且要满足输入,输出、确定性和有限性四条性质;23、大整数乘积算法是用分治法来设计的;24、以广度优先或以最小耗费方式搜索问题解的算法称为分支限界法 ;25、舍伍德算法总能求得问题的一个解 ;贪心选择性质是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法主要区别;27.快速排序算法是基于分治策略的一种排序算法;28.动态规划算法的两个基本要素是. 最优子结构性质和重叠子问题性质 ;30.回溯法是一种既带有系统性又带有跳跃性的搜索算法;31.分支限界法主要有队列式FIFO 分支限界法和优先队列式分支限界法;32.分支限界法是一种既带有系统性又带有跳跃性的搜索算法;33.回溯法搜索解空间树时,常用的两种剪枝函数为约束函数和限界函数 ;34.任何可用计算机求解的问题所需的时间都与其规模有关;35.快速排序算法的性能取决于划分的对称性 ;1.背包问题的贪心算法2.最大子段和: 动态规划算法3.贪心算法求装载问题4.贪心算法求活动安排问题5.快速排序6.排列问题1分治法的基本思想时将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同;递归地解这些子问题,然后将各个子问题的解合并得到原问题的解;2设计动态规划算法的主要步骤为:1找出最优解的性质,并刻划其结构特征2递归地定义最优值3以自底向上的方式计算出最优值4根据计算最优值时得到的信息,构造最优解;3. 分治法与动态规划法的相同点是:将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解;两者的不同点是:适合于用动态规划法求解的问题,经分解得到的子问题往往不是互相独立的;而用分治法求解的问题,经分解得到的子问题往往是互相独立的;4. 分支限界法与回溯法的相同点是:都是一种在问题的解空间树T中搜索问题解的算法;不同点:1求解目标不同;2搜索方式不同;3对扩展结点的扩展方式不同;4存储空间的要求不同;5用回溯法搜索子集树的算法为:6. 分治法所能解决的问题一般具有的几个特征是:1该问题的规模缩小到一定的程度就可以容易地解决;2该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;3利用该问题分解出的子问题的解可以合并为该问题的解;4原问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题;7. 用分支限界法设计算法的步骤是:1针对所给问题,定义问题的解空间对解进行编码;分2确定易于搜索的解空间结构按树或图组织解;3以广度优先或以最小耗费最大收益优先的方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索;8. 常见的两种分支限界法的算法框架1队列式FIFO分支限界法:按照队列先进先出FIFO原则选取下一个节点为扩展节点; 2优先队列式分支限界法:按照优先队列中规定的优先级选取优先级最高的节点成为当前扩展节点;9. 回溯法中常见的两类典型的解空间树是子集树和排列树;当所给的问题是从n个元素的集合S中找出满足某种性质的子集时,相应的解空间树称为子集树;这类子集树通常有2n个叶结点,遍历子集树需O2n计算时间 ;当所给的问题是确定n个元素满足某种性质的排列时,相应的解空间树称为排列树;这类排列树通常有n个叶结点;遍历排列树需要On计算时间;10. 分支限界法的搜索策略是:在扩展结点处,先生成其所有的儿子结点分支,然后再从当前的活结点表中选择下一个扩展结点;为了有效地选择下一扩展结点,加速搜索的进程,在每一个活结点处,计算一个函数值限界,并根据函数值,从当前活结点表中选择一个最有利的结点作为扩展结点,使搜索朝着解空间上有最优解的分支推进,以便尽快地找出一个最优解;。
计算机算法设计与分析习题及答案
《计算机算法设计与分析》习题及答案一.选择题1、二分搜索算法是利用( A )实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( A )。
A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法4. 回溯法解旅行售货员问题时的解空间树是( A )。
A、子集树B、排列树C、深度优先生成树D、广度优先生成树5.下列算法中通常以自底向上的方式求解最优解的是( B )。
A、备忘录法B、动态规划法C、贪心法D、回溯法6、衡量一个算法好坏的标准是( C )。
A 运行速度快B 占用空间少C 时间复杂度低D 代码短7、以下不可以使用分治法求解的是( D )。
A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题8. 实现循环赛日程表利用的算法是( A )。
A、分治策略B、动态规划法C、贪心法D、回溯法9.下面不是分支界限法搜索方式的是( D )。
A、广度优先B、最小耗费优先C、最大效益优先D、深度优先10.下列算法中通常以深度优先方式系统搜索问题解的是( D )。
A、备忘录法B、动态规划法C、贪心法D、回溯法11.备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法D、回溯法12.哈夫曼编码的贪心算法所需的计算时间为( B )。
A、O(n2n)B、O(nlogn)C、O(2n)D、O(n)13.分支限界法解最大团问题时,活结点表的组织形式是( B )。
A、最小堆B、最大堆C、栈D、数组14.最长公共子序列算法利用的算法是( B )。
A、分支界限法B、动态规划法C、贪心法D、回溯法15.实现棋盘覆盖算法利用的算法是( A )。
A、分治法B、动态规划法C、贪心法D、回溯法16.下面是贪心算法的基本要素的是( C )。
A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解17.回溯法的效率不依赖于下列哪些因素( D )A.满足显约束的值的个数B. 计算约束函数的时间C.计算限界函数的时间D. 确定解空间的时间18.下面哪种函数是回溯法中为避免无效搜索采取的策略( B )A.递归函数 B.剪枝函数 C。
计算机算法测试题及答案
计算机算法测试题及答案一、选择题(每题2分,共20分)1. 以下哪种排序算法的时间复杂度是O(nlogn)?A. 冒泡排序B. 选择排序C. 快速排序D. 插入排序答案:C2. 在计算机科学中,递归算法的基本思想是什么?A. 重复执行相同的操作B. 将问题分解为更小的子问题C. 循环调用自身D. 随机选择算法答案:B3. 以下哪个数据结构不是线性数据结构?A. 数组B. 链表C. 树D. 图答案:D4. 在数据库管理系统中,用于表示数据表之间关系的是:A. 索引B. 视图C. 键D. 触发器答案:C5. 以下哪种算法是解决图的最短路径问题的?A. 深度优先搜索B. 广度优先搜索C. 迪杰斯特拉算法D. 快速排序答案:C二、填空题(每题3分,共30分)1. 在计算机算法中,______算法是一种通过不断交换相邻元素来达到排序目的的算法。
答案:冒泡排序2. 一个算法的时间复杂度为O(n^2),这意味着算法的执行时间随着输入规模的增加而______。
答案:平方增长3. 在面向对象编程中,______是对象之间共享的属性和方法的集合。
答案:类4. 在关系型数据库中,______用于唯一标识表中的每一条记录。
答案:主键5. 在图的遍历算法中,______算法可以用于找到从起始顶点到图中所有其他顶点的最短路径。
答案:迪杰斯特拉三、简答题(每题10分,共50分)1. 请简述什么是贪心算法,并给出一个贪心算法的应用实例。
答案:贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。
贪心算法在每一步选择时都采取在当前状态下最好或最优的选择,而不考虑子问题的解,不能保证会得到最优解。
一个典型的贪心算法应用实例是霍夫曼编码,它通过选择最短的编码来压缩数据,从而实现数据的有效压缩。
2. 描述一下什么是动态规划算法,并给出一个动态规划算法的实例。
答案:动态规划是一种通过将复杂问题分解为更简单的子问题来解决的方法,它通过存储这些子问题的解来避免重复计算,从而提高算法的效率。
东北师范大学“计算机科学与技术”《算法分析与设计》23秋期末试题库含答案
东北师范大学“计算机科学与技术”《算法分析与设计》23秋期末试题库含答案第1卷一.综合考核(共20题)1.十六进制数5A.8转换为十进制数是()。
A.89.6B.90.1C.90.5D.96.82.设变量定义为char s[]=“hello”,则数组s中有6个元素。
()A.错误B.正确3.顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为()次。
A.n/2B.(n+1)/2C.(n-1)/2D.n4.一个n个顶点的连通无向图,其边的个数至少为()。
A.n-1B.nC.n+1D.nlogn5.下列排序方法中,哪一个是稳定的排序方法?()A.直接选择排序B.二分法插入排序C.希尔排序D.快速排序6.快速排序的基本思想是将每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序﹔直到待排序数据元素全部插入完为止。
()A.错误B.正确7.字符数组的初始化可以逐个元素进行初始化。
()A.错误B.正确8.冒泡排序是一种不稳定排序方法。
()A.错误B.正确9.下列叙述中正确的是()。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间10.()是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境等等。
A.VSB.VMC.Dev-C++D.IDE11.二进制的基数是()。
A.2B.8C.10D.1612.十进制算术表达式:3*512+7*64+4*8+5的运算结果,用二进制表示为()。
A.10111100101B.11111100101C.11110100101D.1111110110113.顺序结构、选择结构、循环结构三种结构共同特点是()A.只有一个入口B.只有一个出口C.结构内的每一部分都有机会被执行到(不存在死语句)D.结构内不存在死循环(永远执行不完的循环)14.对于任意一棵二叉树,如果度为0的结点个数为n₀,度为2的结点个数为n₂,则n₀=n₂+1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法设计与分析试卷
一、填空题(20分,每空2分)
1、算法的性质包括输入、输出、_确定性__、有限性。
2、动态规划算法的基本思想就将待求问题__分解成若干个
子问题___、先求解子问题,然后从这些子问题的解得
到原问题的解。
3、设计动态规划算法的4个步骤:
(1)找出__最优解的性质__,并刻画其结构特征。
(2)__递归的定义最优值_____。
(3)__以自底向上的方式计算出最优值_____。
(4)根据计算最优值得到的信息,__构造最优解_____。
4、流水作业调度问题的johnson算法:
(1)令N1=_{i|ai<bi}__,N2={i|ai>=bj};
(2)将N1中作业依ai的_非减序排序,将N2中作业依bi 的非增序排序__。
5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}___。
6、最优二叉搜索树即是_最小平均查找时间__的二叉搜索树。
二、综合题(50分)
1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)___20_(5分)
2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)
3、最大子段和问题的简单算法(10分)
int maxsum(int n,int *a,int & bestj)
{
intsum=0;
for (int i=1;i<=n;i++)
for (int j=i;j<=n;j++)
int thissum=0;
for(int k=i;k<=j;k++)__thissum+=a【k】___;
if(thissum>sum){
sum=thissum;
__besti=i____;
bestj=j;}
}
return sum;
}
4、设计最优二叉搜索树问题的动态规划算法
OptimalBinarysearchTree? (15分)
Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w) {
for(int i=0;i<=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=_0___;} for(int r=0;r<n;r++)
for(int i=1;i<=n-r;i++){
int j=i+r;
w[i][j]=w[i][j-1]+a[j]+b[j];
m[i][j]=_m[i+1][j]_____;
s[i][j]=i;
for(int k=i+1;k<=j;k++){
int t=m[i][k-1]+m[k+1][j];
if(_t<m[i][j]____) {m[i][j]=t; s[i][j]=k;}
}
m[i][j]=t; s[i][j]=k;}
}
5、设n=4, (a1,a2,a3,a4)=(3,4,8,10), (b1,b2,b3,b4)=(6,2,9,15) 用两种方法求4个作业的最优调度方案并计算其最优值?(15分)
三、简答题(30分)
1、将所给定序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的最大子段和有哪三种情形?(10分)
答:
2、由0——1背包问题的最优子结构性质,可以对m(i,j)建立
怎样的递归式? (10分)
3、0——1背包求最优值的步骤分为哪几步?(10分)
参考答案:
填空题:确定性分解成若干个子问题最优解的性质
递归地定义最优值以自底向上的方式计算出最优值
构造最优解{i|ai<bi} ai的非减序排序;将N2中作业依
bi的非增序排序min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}
最小平均查找长度
综合题:20 min{ai+T(N-{i},bi)}(1=<i<=n) thissum+=a[k] besti=i 0 m[i+1][j] t<m[i][j]
法一:min(ai,bj)<=min(aj,bi)
因为min(a1,b2)<=min(a2,b1)
所以1→2 (先1后2)
由min(a1,b3)<=min(a3,b1)
得1→3 (先1后3)
同理可得:最后为1→3→4→2
法二:johnson算法思想
N1={1,3,4} N2={2}
N¹1={1,3,4} N¹2={2}
所以 N¹1→N¹2
得:1→3→4→2
简答题:1 、(1)a[1:n]的最大子段和与a[1:n/2]的最大子段和相同。
(2)a[1:n]的最大子段和与的最大子段a[n/2+1:n]和相同。
(3)a[1:n]的最大子段和为∑ak(i=<k<=J),且1<=i<=n/2,n/2+1<=J<=n。
2、(1)m(i,j)=max{m(i+1,j),m(i+1,j-wi)+ui} (j>=wi)
或则m(i,j)= m(i+1,j) (0<=j<wi)
(2)m(n,j)=un j>=wn 或则
m(n,j)=0 0<=j<wn
3、(1)、p[n+1]={(0,0)}
(2)、由p[i+1]→q[i+1], q[i+1]=p[i+1]⊕(wi,vi)
(3)、Mij=p[i+1]∪q[i+1]
Pi=Mij——其中的受控点=p[i+1]∪q[i+1]——其中的受控(4)、重复(2)-(3)直到求出P[1]。