复习题2(算法部份)
python知识点复习题与答案

python知识点复习题与答案一、单选题(每题2分,共20题,共40分)1. 算法必须能在执行有限个步骤之后终止,即算法步骤不可能是无限的。
此特征就是算法的()。
A.可行性B. 输出性C.确定性D. 有穷性(正确答案)2. 利用计算机编程解决问题时,一般需要设计算法。
算法有三种基本控制结构,图 1-2 描述的是()。
A. 顺序结构B. 分支结构C. 选择结构D. 循环结构(正确答案)3. 在Python 程序中,创建列表类型数据时需要使用的符号是()A. { }B. ( )C. [ ](正确答案)D. 《》4. 在 Python 程序中,关系表达式 a > b 的运算结果是()A. 整型B. 浮点型C. 字符串D. 布尔值(正确答案)5. 如图1-1 所示的Python程序,其执行结果是()A. 35B. 8C. 53(正确答案)D. 156. 关于Python 语言,叙述正确的是()A. 加了注释的程序一般会比没有加注释的程序运行速度慢B. Python语言具有简洁、明确等特点,在数据分析和人工智能等领域都有广泛的应用(正确答案)C. Python语言内置了许多模块,其中 math 模块可用于生成随机数D. 以上说法都不对7. 在Python程序中,图1-1的语句作用是()A. 求圆形面积B. 注释(正确答案)C. 交换s和r的值D. 求圆形的周长8. 如图 1-2所示的Python程序,其运行结果是()A. 3B. 4(正确答案)C. 5D. 69. 图1-3所示的Python程序,其运行结果是()A. 10B. 20(正确答案)C. 15D. a10. 下列语句中,会无限循环执行下去的是()AB(正确答案)CD11. 在如图1-1所示Python程序中,print语句执行的次数是()A. 执行2次B. 无限次C. 执行 1次D. 一次也不执行(正确答案)12.下列定义列表的正确格式是()A.(1,2,3,4)B.[1 2 3 4]C.[1,2,3,4](正确答案)D.(1 2 3 4)13、下列代码中循环体执行的次数是()for i in range(1,9,3):print(i)A.7B. 6C. 4D.3(正确答案)14.Python运算符的优先级排列正确的是()。
算法复习题

算法复习试题一、名词解释:1、算法:就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。
2、贪心算法:能够得到某种量度意义下的最优解的分级处理方法称为贪心算法。
3、分治法:分治法的求解思想就是把整个问题分成若干个小问题后分的治之4、递归过程:一个递归过程的执行类似于多个子程序的嵌套调用,递归过程是自己调用自己本身代码。
递归算法的特点:思路清晰,算法的描述简洁且易理解。
5、集合:在研究某一类对象时,可把这类对象的整体称为集合。
6、生成树:设G=(V,E)是一个无向连通图。
如果G的生成子图T=(V,E')是一棵树,则称T是G的一棵生成树。
7、算法具有以下5个属性:有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
确定性:算法中每一条指令必须有确切的含义。
不存在二义性。
只有一个入口和一个出口可行性:就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。
输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。
输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。
8、迭代法:称辗转法,是一种不断用变量的旧值递推出新值的解决问题的方法。
9、贪婪法: 是一种不追求最优解,只希望得到较为满意解的方法。
贪婪法不要回溯10、动态规划:是一种将问题实例分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题,以解决最优化问题的算法策略。
11、分支限界法:是一种用于求解组合优化问题的排除非解的搜索算法。
12、树:树是一个或多个结点的有限集合。
12、二元树:它是结点的有限集合,它或者为空,或者由一个根和两棵树(左子树和右子树)的不相交的二元树所组成。
13、二分检索树:T是一棵二元树,它或者为空,或者其每个结点含有一个可比较大小的数据元素。
14、图:图是数据结构,一个图G是由称之为结点V和边E的两个集合组成的15、最优解:使目标函数取极值(极大值或极小值)的可行解。
算法期末复习题2

填空题:1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:确定性有穷性可行性 0个或多个输入一个或多个输出2.算法的复杂性有时间复杂性和空间复杂性之分,衡量一个算法好坏的标准是时间复杂度高低。
3.某一问题可用动态规划算法求解的显著特征是该问题具有最优子结构性质。
5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含一个(最优)解6.动态规划算法的基本思想是将待求解问题分解成若干子问题_,先求解子问题,然后从这些子问题的解得到原问题的解。
7.以深度优先方式系统搜索问题解的算法称为回溯法。
8.0-1背包问题的回溯算法所需的计算时间为o(n*2n),用动态规划算法所需的计算时间为o(min{nc,2n})。
9.动态规划算法的两个基本要素是最优子结构和重叠子问题。
10.二分搜索算法是利用动态规划法实现的算法。
11.一个算法复杂性的高低体现在计算机运行该算法所需的时间和存储器资源上,因此算法的复杂性有时间复杂性和空间复杂性之分。
12.出自于“平衡子问题”的思想,通常分治法在分割原问题,形成若干子问题时,这些子问题的规模都大致相同。
13.动态规划算法有一个变形方法备忘录方法。
这种方法不同于动态规划算法“自底向上”的填充方向,而是“自顶向下”的递归方向,为每个解过的子问题建立了备忘录以备需要时查看,同样也可避免相同子问题的重复求解。
14、这种不断回头寻找目标的方法称为回溯法。
15、直接或间接地调用自身的算法称为递归算法。
16、 记号在算法复杂性的表示法中表示渐进确界或紧致界。
17、由分治法产生的子问题往往是原问题的较小模式,这就为使用递归技术提供了方便。
18、建立计算模型的目的是为了使问题的计算复杂性分析有一个共同的客观尺度。
19、下列各步骤的先后顺序是②③④①。
①调试程序②分析问题③设计算法④编写程序。
20、最优子结构性质的含义是问题的最优解包含其子问题的最优解。
算法设计与分析期末复习题

算法设计与分析期末考试复习题1.算法有哪些特点?为什么说一个具备了所有特征的算法,不一定就是使用的算法?2.证明下面的关系成立:(参考例题1.5--1.6)(1)logn!=Θ(nlogn) (2)2n=Θ(2n+1)(3)n!=Θ(n n) (4)5n2-6n=Θ(n2)3.考虑下面的算法:输入:n个元素的数组A输出:按递增顺序排序的数组A1. void sort(int A[],int n)2. {3. int i,j,temp;4. for(i=0;i<n-1;i++)5. for(j=i+1;j<n;j++)6. if(A[j]<A[i]) {7. temp=A[i];8. A[i]=A[j];9. A[j]=temp;10. }11. }(1)什么时候算法所执行的元素赋值的次数最少?最少多少次?(2)什么时候算法所执行的元素赋值的次数最多?最多多少次?4.考虑下面的算法:输入:n个元素的数组A输出:按递增顺序排序的数组A1. void bubblesort(int A[],int n)2. {3. int j,i,sorted;4. i=sorted=0;5. while(i<n-1 && !sorted) {6. sorted=1;7. for(j=n-1;j>i;j--) {8. if(A[j]<A[j-1]) {9. temp=A[j];10. A[j]=A[j-1];11. A[j-1]=temp;12. sorted=0;13. }14. }15. i=i+1;16. }17. }(1)算法所执行的元素比较次数最少是多少次?什么时候达到最少?(2)算法所执行的元素比较次数最多是多少次?什么时候达到最多?(3)算法所执行的元素赋值次数最少是多少次?什么时候达到最少?(4)算法所执行的元素赋值次数最多是多少次?什么时候达到最多?(5)用О、和Ω记号表示算法的运行时间。
算法与程序部分复习试题

VB题复习题1.下列各组控件都具有Caption属性的是CA.窗体、文本框B.标签、定时器C.窗体、标签D.文本框、定时器2. 下面关于算法的错误说法是BA)算法必须有输出B)算法必须在计算机上用某种语言实现C)算法不一定有输入D)算法必须在有限步执行后能结束3.下列每个控件都具有的属性是AB.CaptionC.FontD.Interval4.下列运算结果中,值最大的是DA.3\4B.3/4C.4 mod 3D.3 mod 4 〖/表示除,\表示整除,mod表示求余数〗5.以下哪个是合法的变量名DA.Len B.Test@qw C.6cost_1 D.count2s6.在Visual Basic代码中,将多个语句合并在一行上的并行符是BA. 撇号(')B. 冒号(:)C. 感叹号(!)D. 问号(?)7.下列语句中,可以表示输入语句的有 C D ,输出语句的有ABE表示赋值语句的有ADFG (多选)A.text1.text=str(a)B.msgbox(a)C.inputbox()D.P=val(text5.text)E.print aF. a=a*b+cG.ads=3098.下列控件中可设置滚动条的是C (即具有ScrollBars属性的对象)A.计时器B.标签C.文本框D.按钮9.下面程序执行的结果是CPrivate Sub Form_Click()A = "123":B = "456"C = Val(A) + Val(B) 〖val是把字符转化为数值的函数〗msgbox (C \ 100)End SubA.123B.3C.5D.57910.在VB中,执行“IF A>5 then b=10 else b=20”语句后(程序在该行语句前未对A变量赋值),B值为C 【说明:在VB中,如果变量未被赋值而直接引用,则数值型变量的值为0,字符型变量的值为空串“”。
《算法与程序设计》一、二章基本概念复习题答案

《算法与程序设计》一、二章基本概念复习题答案一、单选题(每个3分,共60分)1.下列选项中,不属于计算机程序设计语言的是( C )A.汇编语言B.高级语言C.自然语言D.机器语言2. 关于算法的描述,下列选项中正确的是( B )A.算法本身就是一种程序设计语言B.算法的每一步骤必须有确切的含义C.算法的步骤可以是无穷的D.算法必须有输入3. VB程序中“dim n As Integer”这条语句的作用是( A)A.定义一个变量B.定义一个数据输入方法C.定义一个事件过程D.定义一个数据处理方法4.一个单窗体VB程序的运行界面如下图所示,下列说法正确的是:(C)(1)窗体内有1个按纽(2)窗体内有2个文本框(3)窗体内有3个标签(4)该窗体的标题(Caption)属性值是“加法计算器”A.(3) (4)B.(1)(2)C.(1)(4)D.(2) (3)5. 两个阻值分别为R1、R2的电阻并联后,电路阻值可由公式求解,下面能正确求出R的VB表达式是(A)。
A.R1*R2/(R1+R2)B.R1+R2/(R1*R2)C.(R1+R2)/(R1*R2)D.R1*R2/R1+R26. 关于算法的描述,下列选项中正确的是(D)A.算法只能用流程图来表示B.一个算法的执行步骤可以是无限的C.一个算法,当没有输入时,也没有输出D.一个算法可以没有输入7. 在VB语言中,字符串运算符“+”和“&”的作用是把两个或多个字符串连接成一个字符串。
则表达式"20"+"13"&"20+13"的运算结果是(B )。
'A. “332013”B.”201320+13”C.”201333”D.”3333”8. 下列VB程序运行时(如图所示),在文本框Text1中输入20,在文本框Text2中输入13,单击命令按钮Command1后,文本框Text3中显示的内容是(D)。
算法复习题

一、选择题1、衡量一个算法好坏的标准是( )。
(A )运行速度快 (B )占用空间少 (C )时间复杂度低 (D )代码短2、函数n n 1032 的渐进表达式是( )。
(A )O(23n ) (B )O(3) (C )O(n 10) (D )O(2n )3、以下不可以使用分治法求解的是( )。
(A )棋盘覆盖问题 (B )选择问题 (C )归并排序 (D ) 0/1背包问题4、二分搜索算法是利用( )实现的算法。
(A )分治策略 (B )动态规划法 (C )贪心法 (D )回溯法5、二分搜索算法的时间复杂性为( )。
(A )O(2n ) (B )O(n ) (C )O(n log ) (D )O(n n log )6、快速排序算法的时间复杂性为( )。
(A )O(2n ) (B )O(n ) (C )O(n log ) (D )O(n n log )7、实现大整数的乘法是利用( )的算法。
(A )分治策略 (B )动态规划法 (C )贪心法 (D )回溯法8、矩阵连乘问题的算法可由( )设计实现。
(A )分支界限算法 (B )动态规划算法 (C )贪心算法 (D )回溯算法9、实现循环赛日程表利用的算法是( )。
(A )分治策略 (B )动态规划法 (C )贪心法(D )回溯法10、下列是动态规划算法基本要素的是( )。
(A )定义最优解 (B )构造最优解 (C )算出最优解 (D )子问题重叠性质11、最长公共子序列算法利用的算法是( )。
(A )分治法 (B )动态规划法 (C )贪心法 (D )回溯法12、下列算法中通常以自底向上的方式求解最优解的是( )。
(A )备忘录法 (B )动态规划法 (C )贪心法 (D )回溯法13、以下不可以使用分治法求解的是( )。
(A )棋盘覆盖问题 (B )选择问题 (C )归并排序 (D )0/1背包问题14、下列算法中不能解决0/1背包问题的是( )(A )贪心法 (B )动态规划 (C )回溯法 (D )分支限界法15、算法是由若干条指令组成的有穷序列,而且满足以下性质( )(A )输入:有0个或多个输入 (B )输出:至少有一个输出(C )确定性:指令清晰,无歧义 (D )有限性:指令执行次数有限,而且执行时间有限A (1)(2)(3) B(1)(2)(4) C(1)(3)(4) D (1) (2)(3)(4)16、函数32n +10nlog n 的渐进表达式是( ).A. 2nB. 32nC. nlog nD. 10nlog n17、能采用贪心算法求最优解的问题,一般具有的重要性质为:( )(A )最优子结构性质与贪心选择性质 (B )重叠子问题性质与贪心选择性质(C )最优子结构性质与重叠子问题性质 (D )预排序与递归调用18、回溯法在问题的解空间树中,按()策略,从根结点出发搜索解空间树。
信息技术学业水平算法模拟试题(二)

信息技术学业水平算法模拟题分析题部分1、阅读程序,写出运行结果Dim a(10) As IntegerDim i As Integera(1)=1a(2)=1For i=3 To 6a(i)=a(i-1)+a(i-2)Next iPrint a(6)上述程序运行后,输出a(6)的值是__________(6分)2、分析并完善程序以下是计算s=1*2*3*…*10的程序代码,请补全程序。
(6分)Dim s As LongDim i As Integers=____________________For i=1 To 10s=__________________Next iPrint s3、算法设计与程序实现勾股数勾股数是指满足条件a2+b2=c2的自然数,求出100以内满足a<b的所有勾股数。
【算法分析】a的取值范围[1,100];b的取值范围[1,100];c的取值范围[1,100].【参考程序】Dim a As IntegerDim b As IntegerDim c As IntegerFor a=1 To 100For b=1 To 100For c=1 To 100If _____________________________ThenPrint a;b;c ‘abc之间以分号分隔End IfNext cNext bNext(1)本题采用的算法是___________(填写:解析法/枚举法/排序法/递归法)。
(2)程序代码中空白处应填写的条件是_____________(填写字母:A/B/C/D)A、a<b And a2+b2=c2B、a<b Or a2+b2=c2C、a<b And a^2+b^2=c^2D、a<b And a^2+b^2=c^24、阅读程序,写出运行结果Dim s As IntegerDim i As Integers=0For i=1 To 10 Step 4Print “#”s=s+iNext iPrint s上述程序运行后,输出“#”的个数是_____________;输出s的值是_____________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D.一个算法不能有多个开始处,也不能有多个结束处
答案:B
14.算法中通常需要三种不同的执行流程,即:_____。
A.连续模式、分支模式和循环模式
B.顺序模式、结构模式和循环模式
C.结构模式、分支模式和循环模式
D.顺序模式、分支模式和循环模式
答案:D
15.算法中通常需要三种不同的执行流程,下面说法正确的是:_____。
答案:B
2.计算机是一种按照设计好的程序,快速、自动地进行计算的电子设备,计算机开始计算之前,必须把解决某个问题的程序存贮在计算机的_____中。
A.硬盘B.软盘C.内存D.CPU
答案:C
3.计算机程序由以下两部分即:_____组成。
A.执行部分和数据部分
B.数据部分和程序部分
C.指令部分和数据部分
第1章计算机和算法
1.使用计算机解题的步骤,以下描述正确的是:_____。
A.正确理解题意→设计正确算法→寻找解题方法→编写程序→调试运行
B.正确理解题意→寻找解题方法→设计正确算法→编写程序→调试运行
C.正确理解题意→寻找解题方法→设计正确算法→调试运行→编写程序
D.正确理解题意→寻找解题方法→设计正确算法→编写程序→调试运行
答案:B
10.关于算法的确定性特征,以下不符合算法确定性的是:_____。
A.D←(B * B–4 * A * C)
B.S←(L * H) / 10
C.输入:X
D.输出:L /正整数
答案:D
11.可以用多种不同的方法来描述一个算法,算法的描述可以用:_____。
A.流程图、分支和循环
B.顺序、流程图和自然语言
A.0,2,3 B.0,1,2 C.0,2,2 D.0,1,1
答案:C
12.在程序中需要将两个变量的值交换,以下四段流程图中,_____不能完成将变量X、Y的值互相交换。
A. B.C.D.
二、判断题:
答案:C
13.下列流程图中,语句:1将被执行的次数为:_____。
A.33 B.34 C.35 D.36
A.稳定性B.确定性C.正常性D.快速性
答案:B
9.关于算法的有穷性特征,以下描述正确的是:_____。
A.一个算法的步骤,只要能够终止,就符合有穷性特征
B.一个算法的步骤能在合理的时间内终止,就符合有穷性特征
C.一个算法能在1千万个步骤内终止,就符合有穷性特征
D.一个算法运行的时间不超过24个小时,就符合有穷性特征
A.鸡:1到28,兔:1到14
B.鸡:2到28,兔:1到14
C.鸡:1到28,兔:2到14
D.鸡:2到28,兔:2到14
答案:B
10.见流程图,如果输入的X值为23,Y值为15,Z值为88,则执行的语句是:___。
A.语句1
B.语句2
C.语句3
D.都不是
答案:B
11.下述流程图执行完毕,其输出的前3个数字为::_____。
A.一个算法只能包含一种模式
B.一个算法最多可以包含两种模式
C.一个算法可以包含以上三种模式中的任意组合
D.一个算法必须包含以上三种模式
答案:C
16.算法中的输入,是指算法在执行时需要从外界(如:键盘)取得数据信息,其目的是为算法的某些阶段建立初始状态,以下说法正确的是:_____。
A.算法的输入可以没有,因为建立初始状态的数据已经包含在算法中
D.以上答案都错
答案:C
7.设计计算机程序时,要考虑“计算的过程”,其含义是在对解决问题的方法进行步骤化时,_____。
A.只要指出“动作”而不必指出“动作的次序”
B.不必指出“动作”而只要指出“动作的次序”
C.必须同时指出“动作”和“动作的次序”
D.以上说法都正确
答案:C
8.算法的特征是:有穷性、_____、能行性、有0个或多个输入和有一个或多个输出。
A.递推法B.枚举法C.选择法D.解析法
答案:B
2.找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解,这种方法叫做_____。
A.递推法B.枚举法C.选择法D.解析法
答案:D
3.在使用计算机处理数据的过程中,往往需要对数据进行排序,所谓排序就是:_____。
A.把杂乱无章的数据变为从小到大排列的数据
C.流程图、自然语言和伪代码
D.顺序、分支和循环
答案:C
12.流程图中的判断框,有一个入口和_____个出口。
A.1B.2C.3D.4
答案:B
13.关于流程图中的开始、结束符号,以下说法正确的是:_____。
A.一个算法可以有多个开始处,但只能有一个结束处
B.一个算法只能有一个开始处,但可以有多个结束处
B.把杂乱无章的数据变为从大到小排列的数据
C.把杂乱无章的数据变为有序的数据
D.以上说法都错误
答案:C
4._____是序列计算中的一种常用方法,它是按照一定的规律来计算序列中的每一项,通常是通过计算前面的一些项来得出序列中的指定项的值。
A.递推法B.枚举法C.选择法D.解析法
答案:A
5.比较表达式:999<>999,则比较结果为:_____。
C.计算的中间结果和计算的最终结果,不能存储计算所需的原始数据
D.计算所需的原始数据、计算的中间结果或最终结果
答案:D
6.人们在设计计算机程序时,_____。
A.只要考虑“数据的存贮”而不要考虑“计算的过程”
B.不要考虑“数据的存贮”而只要考虑“计算的过程”
C.必须同时考虑“数据的存贮”和“计算的过程”
A.真 B.假C.表达式错D.无法确定
答案:B
6.求:S = 1 + 2 + 3 + 4 +……N,加到第几项时S>300?
7.找出乘积为399的两个相邻奇数。
8.已知:□3 * 6528 = 3□* 8256等式中方框内是同一个数字,求所有满足该等式的数字。
9.鸡、兔共笼问题,有腿共60条,问鸡、兔各有多少只?下面鸡和兔只数最合理的范围是_____。(范围确定了循环的起始值和终止值)
答案:C
答案:B
14.大猴和小猴共100个,分吃100个桃子,每个大猴吃3个桃子,三个小猴吃1个桃子,问有大猴和小猴各几只?下面大猴和小猴只数最合理的范围是_____。(范围确定了循环的起始值和终止值)
A.大猴:1到33,小猴:1到99
B.大猴:1到33,小猴:1到291
C.大猴:1到33,小猴:3到99
D.大猴:1到33,小猴:3到291
D.程序部分和指令部分
答案:C
4.计算机程序由一系列指令构成,每条指令要求计算机执行_____动作。
A.一组B.二个C.一个D.一个以上
答案:C
5.计算机程序由指令部分和数据部分组成,其中数部分用来存储_____。
A.计算所需的原始数据和计算的中间结果,不能存储计算的最终结果
B.计算所需的原始数据,不能存储计算的中间结果和计算的最终结果
B.算法的输入必须出现在算法的开始阶段
C.一个具体的算法,其输入的位置(次序)是不能改变的
D.算法的输入不能没有
答案:A
第2章基本算法实例
1.采用盲目的搜索方法,在搜索结果的过程中,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不合要求的,保留那些合乎要求的结果,这种方法叫做_____。