算法设计练习题

算法设计练习题
算法设计练习题

算法设计练习题

一. 计算复杂性

1. P184 10.3 设计一个多项式时间的算法判断一个无向图G 是否是2可着色的

算法:2-COLORING 输入:无向图G(V , E)

输出:该图是2可着色的,则输出yes ;否则,输出no. 1.取任一节点,标记为白色

2.所有与它邻接的节点标记为黑色

3.对任意已标记的节点v ,将所有与v 邻接且未标记的节点标记为与v 相反的颜色

4.重复步骤3,直到不存在与已标记节点邻接且还未标记的节点

5.如果图中还有未标记的节点,那么这些节点一定在一个新的连通分量中,再选 择其中一个节点标记为白色,转到步骤3

6.如果得到的图中,所有邻接的节点都标记为不同的颜色,则输出yes ;否则,输出no.

End 2-COLORING 时间复杂度分析:在n 个顶点和m 条边的图上进行分析,算法的运行时间是)(n m +θ

2. P185-186 10.16 团集问题的NP 完全性是由可满足性问题归约到它证明的,给出

一个从顶点覆盖到团集的较简单的归约

法1:规约方法:设G=(V ,E )是连通无向图,S ?V 是一个团集当且仅当S

-V 是G 中的一个顶点覆盖。

证明:设e=(u,v)是G 中的任意边,S ?V 是一个团集当且仅当u 和v 都在S 中,即S -V 是G 中的一个顶点覆盖。

法2:证明:设G=(V ,E )是连通无向图,S ?V 是G 中的一个独立集,则S 是G 的一个团集,独立集∝poly 团集。因为顶点覆盖∝poly 独立集,根据定理10.3,顶点覆盖∝poly 团集。

3. P185-186 10.26 用顶点覆盖问题规约到集合覆盖问题,证明集合覆盖问题是NP

完全问题。

证明:第一步是说明集合覆盖问题是NP 的。因为一个不确定性算法可以从猜测一个集合X 的子集族F 开始,然后验证是否存在F 中的k 个子集的并是集合X 。 第二步证明顶点覆盖问题可以在多项式时间内规约到集合覆盖问题。

设任意连通无向图G=(V ,E),集合X 为G 中所有与边相邻的顶点的集合,其子集族则是每个顶点与其相邻的顶点构成的子集。集合X 是满足集合覆盖的当且仅当X 的子集族中存在k 个子集的并是X ,当且仅当G 中存在大小为k 的顶点覆盖。 4. P215 12.16

证明:设{x 1,x 2,…,x n }是一个正实数集合。对于每一个实数x i ,我们使它和二维平面中的点{ (x 1,1),(x j ,0) | j ∈2,…,n }相联系,这样,所构造的n 个点都位于三角形边上。如果我们用TRIANGULATION 问题的任何算法求解构造的实例,输出将是根据它们的x 坐标排序的构造点的表,遍历表并读出每点的第一个坐标,结果是排序好的

数。所以,排序问题规约到TRIANGULATION 问题,排序问题是Ω(n logn),TRIANGULATION 问题也是Ω(n logn)。

5. P215 12.17

证明:设{x 1,x 2,…,x n }是一个升序排列的正实数集合,及实数x 。对于实数x 及每一个实数x i ,我们使它和二维平面中的点{(x,0),(x i ,0) | i ∈1,…,n }相联系,这样,所构造的点都位于x 轴上。如果我们用NEAREST POINT 问题的任何算法求解,输出就是二分搜索要查找的数。所以,二分搜索问题规约到NEAREST POINT 问题,二分搜索问题是Ω(logn),NEAREST POINT 问题也是Ω(logn)。

6. P215 12.18

证明:设{x 1,x 2,…,x n }是一个正实数集合,对于每一个实数x i ,我们构造点(x i ,0)与之对应,于是这些点在x 轴上。如果我们用ALL NEAREST POINT 问题的任何算法求解,输出将是每个点(x i ,0)对应的最近点对(x i ,0),(x j ,0)。所以,CLOSEST-PAIR 问题规约到ALL NEAREST POINT 问题,CLOSEST-PAIR 问题是Ω(n logn),ALL NEAREST POINT 问题也是Ω(n logn)。

二. 随机算法

1. P241 14.2 假定你有一枚硬币,请设计一个有效的随机算法用来生成整数1,2...n

的随机排列,n 为正整数,分析你的算法的时间复杂性。

基本思想:从空序列开始,逐个向序列添加1, 2, …, n 。根据二分搜索的思想,并利用多次抛硬币,来随机确定每个添加的数在序列中的位置。

算法 RANDOMIZE2 输入:正整数n

输出:1, 2, …, n 的一个随机排列。 A[1]=1 for i=2 to n

j=randombisearch(1, i-1)//在数组A 中随机确定i 的插入位置。 insert(A , j, i) //在数组A 的j 位置上插入值i 。 end for

output A[1..n] end RONDOMIZE2

过程 randombisearch(low, high)

// 利用二分搜索在A[low..high+1]中随机确定值i 的插入位置, // 并返回该位置。 if low>high then return low else

mid=??

?

?

??+2high low k=random(1,2) //抛一次硬币。

if k=1 then high=mid-1 //插入位置在A[low..mid]中。 else low=mid+1 //插入位置在A[mid+1..high+1]中。

return randombisearch(low, high) end if

end randombisearch 时间复杂性:Θ(n 2)

2. P241 14.5 在算法 RANDOMIZEDQUICKSORT 的讨论中曾说过,为算法

QUICKSORT 得到一个O (log n )期望时间的一种可能性,是通过排列输入元素使它们的次序变成随机的来获得的。描述一个O (n )时间算法,先随机排列下 算法思想:对预排序的数组进行随机排列,使该数组与原先相比显得无序。尽量避免QUICKSORT 算法最坏情况的发生即n^2时间,使之更趋近于最佳情况nlogn 时间。

算法PRE_DISPOSE

输入:n 个元素的数组a[1…n] 输出:随机排列的数组a

for i=1 to n

P =random(n)//随机选择小于n 的数 Q=random(n) //随机选择小于n 的数 互换a[P]和a[Q] end for

end PRE_DISPOSE

3. P241 14.7 考虑对算法BINARYSERCH 做如下修改见1.3节,在每次迭代中,随

机的选择剩下的位置来代替搜索区间减半

设元素存储在一维数组C 中,第0个位置不放元素,若每次生成的随机数都是要查找的剩余元素的第一个且未找到要搜索的数,则时间复杂度计算公式如下:

??

???

=+=∑-=0)0(1)(1)(10C i C n n C n i 计算得到时间复杂度为)(log n O

4. 写出n 皇后问题的如下随机算法:先在棋盘上随机放置m(m

然后用回溯法搜索其余皇后的位置。 算法 NQUEENS_RAN_ACCU

输入:正整数n,m ,其中n 表示棋盘纬度,m 表示随机算法和回溯算法的处理的

划分, m

输出:若找到解,则输出n 皇后问题的一个解x[1..n],否则输出无解 Flag_Random=true //随机查找时是否有解得标记 Flag_Accu=false//精确查找时是否有解得标记 k=1

x[m+1]=0//精确查找初始化 while k<=n and Flag_Random if k<=m//随机算法

j=0

for i=1 to n //寻找第k行所有可放置皇后的位置。

if place(k) then //若第k行的位置i可放置皇后,

j++; temp[j]=i; //则存储该位置。

end if

end for

if j>0 then x[k]=temp[random(1, j)] //随机选取一个位置放皇后

else Flag_Random =false//表示找不到解

end if

k++

else if k>m//回溯算法

while k>m and not Flag_Accu

while x[k]< n and not Flag_Accu

x[k]=x[k]+1 //试将第k行的皇后移到下一个位置。

if place(k) then //第k行的当前位置可放置皇后。

if k=n then Flag_Accu =true //x[m+1..n]是一个解

else //x[m+1..k]是精确解答时的部分解

k=k+1 //前进到下一行

x[k]=0

end if

end if //否则,剪枝

end while

k=k-1//回溯

end while

if k =m

break; //退出整个循环

end if

end while

if Flag_Random and Flag_Accu then output x //输出一个解

else output “No solution”//输出无解

三.近似算法

1.对于装箱问题,分别写出近似算法FF和BF。

思路:

1.最先适配法(FF):箱子编号为1, 2, …, n,初始时各箱子为空。各项按u1, u2, …, un

的顺序装箱,装项ui时,将其装入序号最小的可容得下该项的箱子中(即装入满足l<= 1-si的序号最小的箱子中,其中l表示箱子的已填充容量)。

2.最佳适配法(BF):箱子编号为1, 2, …, n,初始时各箱子为空。各项按u1, u2, …, un

的顺序装箱,装项ui时,将其装入满足l<= 1-si并且使l值最大的箱子中。

算法FF

输入: n个项的集合u[1…n], n个箱子的容量l[1…n],其中0<=u[i]<=1,l[i]=1.

输出: 装这n个项的最少箱子的个数k

k=1;//箱子的个数

for i=1 to n//装项ui 时,将其装入序号最小的可容得下该项的箱子中 j=1 flag=false;

while j<=k and not flag//从序号最小的开始查找 if l[j]>u[i] then//找到可以放进去的箱子 l[j]=l[j]-u[i] flag=true;

else j++//继续寻找 end if end while

if not flag then//没有找到可以放进去的箱子 k++//开启新的箱子 l[k]=l[k]-u[i]; end if end for return k end FF 算法BF

输入: n 个项的集合u[1…n], n 个箱子的容量l[1…n],其中0<=u[i]<=1,l[i]=1. 输出:装这n 个项的最少箱子的个数k k=1;//箱子的个数

for i=1 to n//装项ui 时,将其装入满足l<= 1-si 的箱子中使l 值最大的箱子中 if l[j]>u[i] then//找到l 值最大的可以放进去的箱子 l[j]=l[j]-u[i] else

k++//开启新的箱子

l[k]=l[k]-u[i]; end if

sort(l[1…k])//对前k 个箱子的l 值从大到小排序 end for return k end BF

2. P255 15.10 如图:

按照算法,先得到顶点的度数降序排列:V1、V2、V3、V4(度数均为2),先将V1添加到覆盖中,删除边{ V1 ,V4}和{ V1,V2},接着添加V2,删除边{ V2,V3},添加V3,删除边{ V3,V4}。故得覆盖{ V1,V2,V3},而最佳覆盖为{ V1,V3}或{ V2,V4}。

3. P256 15.14 15.15(这两题的答案是学长给的)

V1 V2 V3 V4

15.14考虑在给定的图G 中找出最大团集问题的近似算法,基本步骤: 1、 C={}

2、 向C 中添加一个顶点(该顶点不在C 中,与C 中每个顶点相连接)

3、 重复步骤2,直到C=G 或者G-C 中任一点x 与C 中点都不是全部相连

Solution:

这里}|{是无向图graph graph D II =

取的侯选解集为实例则g g S D g II II )(,∈,是由题意给出的算法设σ。则 而找到团集的顶点个数

作用于实例为算法其中定义g k k f g S II II σσσ,)(),(=∈ 题目算法寻求最大团集,这是最大化问题,∴近似度1)

()

()(≥=

g g OPT g R σσ

分三种情况讨论:

:)i 若则个顶点的无向完全图,是一个具有1,≥∈m g D g II 1)(=g R σ :)ii 若g 是由n 个无向完全图:n g g g ,,,21 之简单并,

n

i i

g g 1

==,

的顶点个数表示用i i g g )(η,则)

()}(,),(),(max{)(21i n g g g g g R ηηηησ =

=M g OPT )

(

+∈Z M 。M g OPT ≥)(且。上式分母取)(i g η输出的是具有示意算法σ)(i g η个顶

n i g i ,,2,1, =点的团集

:)iii 对于g D g II ,∈?不是由)i 、)ii 讨论的无向图,则可以去掉一些边,这些边及跟这

些边相连的顶点不构成图g 的完全子图,最后图g 分解成独立的“较小”的无向图(即团集)的简单并。转为)ii 讨论的情形。

结论:这个近似算法可能达到的近似度具有如下形式:II D g ∈?, )

()}(,),(),(max{)(21i n g g g g g R ηηηησ =

=M g OPT )(,M g OPT Z M ≥∈+

)(,且。

15.15

证明练习15.14中给出的查找最大团集问题的启发式算法的近似度是无界的。 证明:反证法:

假定该启发式算法的近似度是有界的,

则+∞<<≤∈?+=>?M A g R D g A M A A II )(,,1][,0σ为实数,取

由于II D g ∈的任意性,构造g 如下:设1g 是一个具有6M 个顶点的无向完全图,2

g 是 具

有3个顶点的无向完全图,取21g g g ?=,显然II D g ∈,且由于σ是近似算法,∴不可能输出的都是具有)(g OPT 个顶点的团集,故而:

M M M

g R <==

23

6)(σ 导出矛盾!

4. P256 15.16给出着色问题的一个近似算法:找出给一个无向图着色,使得相邻顶点

着不同颜色的最少颜色数。证明或否定该算法的近似度是有界的 算法思想:对无向图进行分类讨论 算法:COLORING 输入:无向图G(V ,E) 输出:着色的颜色数

if V=0 then return 0 end if if E=0 then return 1 end if if G 是二分图 return 2 end if else return 4 end if

end COLORING

证明:在上述算法A 中,

在V=0,E=0, G 是二分图情况都属于最优解,所以其RA(I)=1; 而只有else 语句不是最优解,因为在else 语句中出现的情况不是3可着色就是4可着色的,任何一个图形并不都满足3可着色,3着色是NP 完全问题,但是任何一个平面图G 都是4可着色的,所以这时我们返回4,即 A(I)=4, OPT(I)=3 RA(I)=A(I)/OPT(I)=4/3 所以1<=RA(I)<=4/3 该算法的近似度是有界的得证 5. P256 15.21

证明只需找出一个反例即可。 例 X = { 1, 2, 3, 4, 5, 6, 7, 8}

子集族F = { { 1, 2 } { 2, 3, 4, 5, 6, } { 6, 7, 8 } { 1, 2, 3, 4, } { 5, 6 , 7, 8, } } 已知最小覆盖只需两个即 { 1, 2, 3, 4, } { 5, 6 , 7, 8, } 。但按照算法则先选择交集个数最大的子集{ 2, 3, 4, 5, 6, },然后再在其余的选择两个比如{ 1, 2 },{ 6, 7, 8 } 或者{ 1, 2, 3, 4, } { 5, 6 , 7, 8, }。该题给出的算法对例子的最小覆盖个数是3个。所以不总是产生最小覆盖。

高中信息技术《算法与程序设计》试题

高中信息技术《算法与程序设计》试题 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()

算法设计与分析课后部分习题答案

算法实现题3-7 数字三角形问题 问题描述: 给定一个由n行数字组成的数字三角形,如图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。编程任务: 对于给定的由n行数字组成的数字三角形,编程计算从三角形的顶至底的路径经过的数字和的最大值。数据输入: 有文件input.txt提供输入数据。文件的第1行是数字三角形的行数n,1<=n<=100。接下来的n行是数字三角形各行的数字。所有数字在0-99之间。结果输出: 程序运行结束时,将计算结果输出到文件output.txt中。文件第1行中的数是计算出的最大值。 输入文件示例输出文件示 例 input.txt output.txt 5 30 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 源程序: #include "stdio.h" voidmain() { intn,triangle[100][100],i,j;//triangle数组用来存储金字塔数值,n表示行数 FILE *in,*out;//定义in,out两个文件指针变量 in=fopen("input.txt","r"); fscanf(in,"%d",&n);//将行数n读入到变量n中

for(i=0;i=0;row--)//从上往下递归计算 for(int col=0;col<=row;col++) if(triangle[row+1][col]>triangle[row+1][col+1]) triangle[row][col]+=triangle[row+1][col]; else triangle[row][col]+=triangle[row+1][col+1]; out=fopen("output.txt","w"); fprintf(out,"%d",triangle[0][0]);//将最终结果输出到output.txt中 } 算法实现题4-9 汽车加油问题 问题描述: 一辆汽车加满油后可行驶nkm。旅途中有若干加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。并证明算法能产出一个最优解。编程任务: 对于给定的n和k个加油站位置,编程计算最少加油次数。数据输入: 由文件input.txt给出输入数据。第1行有2个正整数n和k ,表示汽车加满油后可行驶nkm,且旅途中有k个加油站。接下来的1行中,有k+1个整数,表示第k个加油站与第k-1个加油站之间的距离。第

现代设计理论与方法

第一章 1现代设计理论与方法是一门基于思维科学、信息科学、系统工程、计算机技术等学科,研究产品设计规律、设计技术和工具、设计实施方法的工程技术科学。 2设计的概念,广义概念是指对发展过程的安排,包括发展的方向、程序、细节及达到的目标。狭义概念是指将客观需求转化为满足需求的技术系统(或技术过程)的活动。 3设计的含义:为了满足人类与社会的功能要求,将预定的目标通过人们创造性思维,经过一系列规划、分析和决策,产生载有相应的文字、数据、图形等信息的技术文件,以取得最满意的社会与经济效益,这就是设计。 4设计的特征:需求特征、创造性特征、程序特征、时代特征。 5设计的四个发展阶段:直觉设计阶段、经验设计阶段、半理论半经验设计阶、现代设计阶6现代设计与传统设计的区别: 传统设计:以经验总结为基础,运用力学和数学而形成的经验、公式、图表、设计手册等作为设计的依据,通过经验公式、近似系数或类比等方法进行设计。传统设计方法基本上是一种以静态分析、近似计算、经验设计、手工劳动为特征的设计方法。 现代设计:是一种基于知识的,以动态分析、精确计算、优化设计和CAD为特征的设计方法。 7现代设计方法与传统设计方法相比,主要完成了以下几方面的转变: 1)产品结构分析的定量化;2)产品工况分析的动态化;3)产品质量分析的可靠性化;4)产品设计结果的最优化;5)产品设计过程的高效化和自动化。 8现代产品设计按其创新程度可分为:开发性设计、适应性设计、变形设计三种类型。 第二章 1功能分析组合方法:求总功能(黑箱法)分功能求解方法(调查分析法、创造性方法、设计目录法)原理解组合(形态分析法) 第三章 1创造技法:(一)集体激智法:(专题会议法,德尔菲法,635法)通过多人的集体讨论和书面交流,互相启迪,并发灵感,进而引起创造性思维的连锁反应,形成综合创新思路的一种创新技法。(二)提问追溯法:(奥斯本提问法,阿诺尔特提问法,5W-1H提问法)是通过对问题进行分析和推理来扩展思路,或将复杂的问题加以分解,找到各种影响因素,从而扎到问题的解决方案的一种创造性技法。(三)联想类比法:(联想发明发,类比发明发,仿生法,综摄法)通过启发、联想、类比、综合等手段,创造出新的想法,这种创造技法就称联想类比法(四)组合创新法:(性能组合,原理组合,功能组合,结构组合)利用事物间的内在联系,用已有的知识和现有的成果进行新的组合。从而产生新的方案。

《算法与程序设计》复习题

算法与程序设计 一、选择题部分(100题) 一章一节:了解计算机解决问题的过程 1.用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序答案:B 2.学校要举行运动会,请你设计一个能够对运动员分数自动排序的软件,如果要设计此软件,以下最好的方法和步骤是()。 A、分析问题,编写程序,设计算法,调试程序 B、设计算法,编写程序,提出问题,调试程序 C、提出问题,设计算法,编写程序,调试程序 D、设计算法,提出问题,编写程序,调试程序 答案:C 3.下列步骤不属于软件开发过程的是()。 A、任务分析与系统设计 B、软件的销售 C、代码编写与测试 D、软件测试与维护 答案:B 4.用计算机解决问题的步骤一般为()①编写程序②设计算法③分析问题④调试程序。 A.①②③④ B.③④①② C.②③①④ D.③②①④答案:D 5.以下描述中最适合用计算机编程来处理的是()。 A、确定放学回家的路线 B、计算某个同学期中考试各科成绩总分 C、计算100以内的奇数平方和 D、在因特网上查找自己喜欢的歌曲答案:C 6.以下问题中最适合用计算机编程处理的是()。 A、制定本学期的学习计划 B、计算正方形的周长 C、创作一首歌曲 D、求1000以内的所有素数 答案:D 7.由“上车—掏钱—投币”所描述的问题是()。 A、无人售票车投币过程 B、乘公交车过程 C、上车过程 D、下车过程答案:A 一章二节:算法和算法描述 8.下面说法正确的是()。 A、算法+数据结构=程序 B、算法就是程序 C、数据结构就是程序 D、算法包括数据结构 答案:A 9.算法描述可以有多种表达方法,下面哪些方法不可以描述“水仙花数问题”的算法()。 A.自然语言 B.流程图 C.伪代码 D.机器语言答案:D 10.下面关于算法的说法错误的是()。 A、算法必须有输出 B、算法就是程序 C、算法不一定有输入 D、算法必须在有限步执行后能结束 答案:B 11.算法的三种基本控制结构是顺序结构、分支结构和()。 A、模块结构 B、情况结构 C、流程结构 D、循环结构答案:D 12.算法的三种基本控制结构是分支结构、循环结构和() A、模块结构 B、情况结构 C、流程结构 D、顺序结构答案:D 13.算法的三种基本控制结构是顺序结构、分支结构和()。 A、模块结构 B、循环结构 C、流程结构 D、情况结构答案:B 14.下面关于算法的认识正确的是()。 A、算法就是求解“鸡兔同笼问题” B、算法一定没有输出 C、算法就是计算机程序 D、算法的步骤必须是有限的答案:D

现代设计方法习题答案

3.用梯度法求下列无约束优化问题:MinF(X)=x12+4x22,设初始点取为X(0)={2,2}T,以梯度模为终止迭代准则,其收敛精度为5。 1)求初始点梯度▽F(X) ▽F(X)={2x1,8x2}T▽F(X(0))={4,16}T (2)第一次搜索 |▽F(X(0))|=16.5,S(0)=- ▽F(X(0))/16.5=-{0.243,0.97}T α(0)=2.157 X(1)=X(0)+α(0)S(0)={1.476,-0.923}T ▽F(x(1))={2.952,-0.738}T |▽F(x(1))|=3.043<5.0 故满足要求,停止迭代。 最优点X*={1.476,-0.0923}T 最优值F(X*)=2.21 4.

5.

6. 用外点法求解约束优化问题: ()()12211221min ..0()0 f X x x s t g X x x g X x =+=-≤=-≤ , 收敛准则:(1) ()0.10.01k k X X εδ+-≤=,约束容限= 解:(1)利用外点法惩罚法构造无约束优化问题 () ( ) 12()22()212121(min ,()() k k k x x X r x x r x x r x +??Φ=?++-+-??可行域内)(可行域外) (2)此例只是为了说明外点法的思路,用微分法求解上述无约束优化问题。 用极值条件求解: 在可行域内:偏导数不可能等于0,即可行域内无极值 在可行域外,令: ()2()11211 ()2122 14()2012()0k k k r x x x r x x r x x x ?Φ =+-+=??Φ =--=?

《算法与程序设计》试题带答案

《算法与程序设计》试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE

算法分析与设计习题集整理

算法分析与设计习题集整理 第一章算法引论 一、填空题: 1、算法运行所需要的计算机资源的量,称为算法复杂性,主要包括时间复杂度和空间复杂度。 2、多项式10()m m A n a n a n a =+++L 的上界为O(n m )。 3、算法的基本特征:输入、输出、确定性、有限性 、可行性 。 4、如何从两个方面评价一个算法的优劣:时间复杂度、空间复杂度。 5、计算下面算法的时间复杂度记为: O(n 3) 。 for(i=1;i<=n;i++) for(j=1;j<=n;j++) {c[i][j]=0; for(k=1;k<=n;k++) c[i][j]= c[i][j]+a[i][k]*b[k][j]; } 6、描述算法常用的方法:自然语言、伪代码、程序设计语言、流程图、盒图、PAD 图。 7、算法设计的基本要求:正确性 和 可读性。 8、计算下面算法的时间复杂度记为: O(n 2) 。 for (i =1;i

算法与程序设计习题

《算法与程序设计》模块练习题 一、单选题 1、模块化程序设计方法主要通过()来实现。 A.递归算法和递归程序 B.过程和函数的定义和调用 C.程序的循环结构 D.对象答案:B 2、text1.text的含义正确的是()。 A.text1是控件名称,text是控件属性 B.text1是窗体名称,text 是控件 C.text1是控件名称,text是方法 D.text1是控件属性,text是控 件答案:A 3、以下程序段运行后S的值是()。 s = 0 For i = 1 To 14 x = 2 * i - 1 If x Mod 3 = 0 Then s = s + 1 Next i A.0 B.4 C.5 D.14 答案:C 4、数列1,4,7,10,13,……的递推公式为()。 A.f(1)=1;f(n)=n+3 B.f(1)=1;f(n)=n*2-1 C.f(1)=1;f(n)=n*2+1

D.f(1)=1;f(n)=f(n-1)+3 答案:D 5、对于对象及其特征的错误理解是()。 A.对象都具有一个标识自己以区别其他对象的名字。 B.对象都具有自身的属性及其属性值。 C.对象一般只用数据表示属性,但不用代码表示行为。 D.对象都具有自身的行为(操作)。 答案:C 6、VB函数Left ()从字串左端取部分字串,那么Left("Visual Basic 6.0", 8)的值为()。 A.Visual B B.Visual C.Visual Ba D.asic 6.0 答案:A 7、程序段如下: c ="1234" For i = 1 To 4 Print _____, Next 如果要让程序运行后得到如下结果: 1 1 2 12 3 1234 则在下划线处应填入的内容为()。 A.Right(c,i) B.Left(c,i) C.Mid(c,i,1) D.Mid(c,i,i) 答案:B 8、若X = True,执行If X Then X = 0 Else X = 1后X的结果为()。

现代设计方法综合训练题

现代设计方法综合训练题 第二部分 非选择题 三、填空题 请在每小题的空格中填上正确答案。错填、不填均无分。1.计算机辅助设计(CAD)是指人们在计算机的辅助下,对产品或工程进行设计、绘图、分析计算或编写技术文件以及显示、输出的一种设计方法。 2.CAD系统的软件根据其用途可分为三类,它们是:软件、支撑软件专用软件。 3.在特征模型中,形状特征是其它特征的载体,非几何特征信息一般作为附加在形状特征上。 4.在单峰搜索区间[a,b]内,任取两个试算点a1,a2,若两点的函数值 F(a1)>F(a2),则缩小后的区间为。 5.当有两个设计变量时,目标函数与设计变量之间的关系是中的一个曲面。 6.在有限元方法中,求总刚度矩阵的方法主要有两种,其中一种方法是利用刚度系数集成的方法获得总刚度矩阵的,该方法应用了 原理。 7.单元刚度矩阵具有对称性、性和奇异性。 8.2/3表决系统中各子系统的可靠度为R,则该系统的可靠度为 。 9.可靠度是对产品可靠性的度量。 10.某串联机电系统由N个子系统组成,各子系统的可靠度服从指数分布,且第i个子系统的失效率为λ,则该系统的平均寿命为。11.优化设计亦称最优化设计,它是以为基础,以电子计算机为辅助工具的一种设计方法。 12.优化设计的数学模型一般由设计变量、和约束条件三个基本要素组成。 13.国标GB3187-82将可靠性定义为:“产品在和规定的时间内,完成规定功能的能力。” 14.所谓特征指的是反映、可按一定原则分类的、具有相对独立意义的典型结构形状。 15.梯度是函数对各个设计变量的所组成的列矢量,并以符 号“”或grad表示。 16.二次插值法的基本思想是:在选定的单峰区间内取一点,连同两端点,利用这三点的函数值构成一个,作为原函数的近似,求出近似二次多项式的极小点作为原函数的近似最优点。

算法与程序设计试题带答案

高一第二学期《算法与程序设计》学分认定试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么”,然后再确定程序“如何做”请问“如何做”是属于用计算机解决问题的哪一个步骤() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、 D、 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()A、F1 B、F8 C、F9 D、F12 13、算法描述可以有多种表达方法,下面哪些方法不可以描述“闰年问题”的算法() A、自然语言 B、流程图 C、伪代码 D、机器语言 14、以下不属于非法用户自定义标识符(常量和变量命名)的是() A、8ad B、ad8 C、_a8d D、const 15、已知A,B,C,D是整型变量,且都已有互不相同的值,执行语句B=0;A=C;D=A;D=B;后,其值相等的变量是() A、A,D B、A,C C、C,B D、B,A 16、要交换变量A和B的值,应使用的语句组是( ) A、A=B;B=C;C=A B、C=A;A=B;B=C C、A=B;B=A D、C=A;B=A;B=C 17、VisualBasic中以单引号开头一行文字称为注释,它对程序的运行() A、起一定作用 B、有时候起作用 C、不起任何作用,但是必须的 D、不起任何作用,但能增加程序的可阅读性 18、要使一个命令按钮显示文字“确定”,正确的设置是把该命令按钮的()。 A、属性Font设置为“确定” B、属性.ForeColor设置为“确定” C、属性Caption设置为“确定” D、属性BorderStyle设置为“确定” 19、要从文本框TXTShowOut中输出"中国您好!",代码为( ) A ="中国您好!" B ="中国您好!" C ="中国您好!" D Val=“中国您好!” 20、下列Visual Basic程序段运行后,变量max的值为()。 a=11; b=15; max=a IF b>max Then max =b A、15 B、11 C、15或11都有可能 D、以上都不是 二、阅读程序写结果(第1~2小题每题5分,第3小题10分,共20分) 1、Private Sub Form_Load() N=InputBox(“请输入N的值:”,“输入”) S=1 For i=1 to N S=S*i Next i MsgBox “S=”+Str(s),0,”计算结果” End Sub 当N=5时,运行的结果是__________________。

现代设计理论与方法重点

绪论 1、设计的的本质是由功能到结构的映射过程,是技术人员根据需要进行构思、计划并把计划变为现实可行的机械系统的过程。 2、计划具有个性化、抽象化、多解性的基本特征。 3、现代设计方法: 计算机辅助设计概念:计算机辅助设计是利用计算机及其图形设备辅助人们进行设计。优化设计是从多种设计方案中选择最佳方案的方法,它以数学中的最优化理论为基础,以计算机为手段,根据设计所追求的性能目标,建立目标函数,在满足给定的各种约束条件下,寻求最优的设计方案。 有限元设计就是利用假想的线和面将连续的介质内部和边界分割成有限大小、有限数目、离散的单位来研究。 稳健设计通过质量工程方法在产品设计阶段就要求把产品设计完美、健全,不受或尽量减少生产线波动带来的影响,以保证产品达到预期的质量效果。 虚拟设计是一种新技术,它可以在虚拟环境中用交互手段对在计算机内建立的模型进行修改,缩短了产品开发周期,提高了产品设计质量和一次设计成功率。 创新设计、智能设计、表面设计、绿色设计、动态设计、摩擦设计、协同设计、工业设计等。一 1、计算机辅助设计(简称CAD):是计算机科学领域的一门重要技术,是集计算、设计绘图、工程信息管理、网络通信等领域知识于一体的高新技术,是先进制造技术的重要组成部分。 2、CAD:(computer aided design):即计算机辅助设计CAE(computer aided engineering):即计算机辅助分析,CAM(computer aided manufacture):即计算机辅助制造,CAPP(computer aided process planning):即计算机辅助工艺设计,CIMS(computer integrated manufacturing system):即计算机集成制造系统, 8、CAD的特点:1)规范化、高质量规范设计流程,统一文档格式,提高设计质量。9、CAD发展方向:脱离图版,实现全自动无纸化设计、生产和制造,是CAD发展的最终目标。 10.CAD的基本功能及优点:1)人机交互 2)几何造型 3)计算分析 4)系统仿真 5)工程绘图 6)数据管理 11、CAD系统组成:CAD系统的硬件结构:计算机、图形输入设备、输出设备 CAD系统的软件:软件系统、支撑软件、应用软件。 二 1、优化设计:是从多种方案中选择最佳方案的设计方法。它以数学中最优化理论为基础,以计算机为手段,根据设计所追求的性能目标,建立目标函数,在满足给定的各种约束条件下,寻求最优的设计方案。 2、P49页:例2-1 黄金分割法求函数,3无约束优化方法:坐标轮换法、牛顿法、 约束优化方法:遗传算法、惩罚函数法、复合形法多目标优化方法:多目标优化问题、主要目标法、统一目标法 三 1、有限元法的概念:把复杂的结构看成由有限个单元组成的整体的一种设计方法 2、有限元法的基本思想:化整为零,积零其整,把复杂的结构看成由有限个单元组成的整体 3、弹性力学中的基本假设:连续性假设,完全弹性假设,各向同性假设,均匀性假设,微小性假设,无初应力假设 2、弹性力学的基本方程:平衡方程、几何方程、物理方程、边界条件

《算法与程序设计》会考复习题(答案)

《算法与程序设计》模块会考复习题 一.单选题 1. java方法重载时参数不可能出现的情况是____D______。P67 A.参数的个数不同 B.参数的个数相同而参数的类型不同 C.参数不完全对应相同D.参数完全对应相同 2. 运行Java程序需要的工具软件所在的目录是___A_______。P16 A.JDK的bin目录B.JDK的demo目录 C.JDK的lib目录D.JDK的jre目录 3. J_HelloWorld.java 的文件内容如下: class J_HelloWorld { public static void Main(String args[]) M不应大写 { System.out.println(" Hello World "); } } 下面说法正确的是____B______。 A.J_HelloWorld.java无法通过编译,因为main方法的声明方式不对 B.J_HelloWorld.java可以通过编译,但程序运行时出现“程序中没main方法”的异常C.J_HelloWorld.java可以通过编译,但无法运行,因为该文件没有public类 D.J_HelloWorld.java可以通过编译并正常运行,结果输出字符串“Hello World” 4. 逻辑表达式!(3/2==1.5)&& 9<3|| 9>3的运算结果为_____A_______。 P9 A.true B.false C.表达式有错D.条件不足 5. 下列可以将变量x和y的值互换的语句是___B______。P35 A.x=y;y=x; B.z=x;x=y;y=z; C.x=z;z=y;y=x; D. x=(x+y)/2;y=(x-y)/2; 6. 执行完下面程序片段之后,下面结论正确的是___B_____。 P43 int a,b,c; a=1;b=2; c=(a+b)>3 ? a++:b++; A.a的值是2,b的值是3 B.a的值是1,b的值是3 C.a的值是1,b的值是2 D.c的值是false。 7. 下面程序片段输出的是___C_______。应使用关系运算符== int a=3,b=1;

2014山东省信息技术学考算法与程序设计试题答案附后讲解

2014山东省信息技术学考算法与程序设计试题答案附后讲解

山东省学考算法与程序设计试题 选择题 1、下列VB表达式中: ⑴Sqr(x) ⑵Text1.text ⑶Command1.caption ⑷"45"+"34" ⑸45+34值为字符串类型的是() A⑴⑵⑶ B⑵⑶⑷ C ⑴⑶⑸ D⑵⑷⑸ 2、如果给出三条线段的长分别为a、b、c,且已知a≤b≤c,要问这三条线段能否构成三角形,仅需下列选项中的哪个判定条件即可?() A 其他选项都不对 B a+c>b C a+b>c D b+c>a 3、VB程序中“Dim n As Integer”这条语句的作用是() A 定义一个事件过程 B 定义一个数据输入方法 C 定义一个变量 D 定义一个数据处理方法 4、关于算法的描述,下列选项中正确的是() A 算法的每一步骤必须有确切的含义 B 算法必须有输入 C 算法的步骤可以是无穷的 D 算法本身就是一种程序设计语言 5、关于算法的描述,正确的是() A同一种算法只能用一种程序语言实现 B算法就是数值计算的方法 C描述算法的方法只有流程图 D算法是描述解决问题的方法和步骤 6、算法的描述方法有多种,下列选项中不适合描述算法的是() A机器语言 B自然语言 C流程图 D伪代码 7、长度分别为a、b、c的三条线段,能够组成三角形的条件是() A a+b>c Or a+c>b Or b+c>a B a+b>c or a+c>b And b+c>a C a+b>c Or a+c>b And b+c>a D a+b>c And a+c>b And b+c>a 8、已知海伦公式:()()() p p a p b p c ---p=1 2 (a+b+c),a、b、c分别为三角形的三条 边长。利用海伦公式求三角形面积的算法属于() A 排序法 B 解析法 C 穷举法 D 查找法 9、以下程序段中循环体执行的次数是() s=0 i=0 Do While s<10 i=i+1 s=s+i*i Loop A 1 B 3 C 2 D 4 10、下列VB表达式中,能正确表达不等式方程|x|>1的解的是() A x>-1 and x<1 B x>-1 or x<1 C x<-1 and x>1 D x<-1 or x>1 11、一元二次方程ax2+bx+c=0(a≠0)的两个实数根分别为: x 1 24 b b ac -+- 2 24 b b ac ---下列表达式正确的是() A x 2=-b-sqr(b^2-4*a*c)/(2*a) B x 1 =(-b+sqr(b^2-4ac))/(2*a)

算法设计与分析习题解答

第一章作业 1.证明下列Ο、Ω和Θ的性质 1)f=Ο(g)当且仅当g=Ω(f) 证明:充分性。若f=Ο(g),则必然存在常数c1>0和n0,使得?n≥n0,有f≤c1*g(n)。由于c1≠0,故g(n) ≥ 1/ c1 *f(n),故g=Ω(f)。 必要性。同理,若g=Ω(f),则必然存在c2>0和n0,使得?n≥n0,有g(n) ≥ c2 *f(n).由于c2≠0,故f(n) ≤ 1/ c2*f(n),故f=Ο(g)。 2)若f=Θ(g)则g=Θ(f) 证明:若f=Θ(g),则必然存在常数c1>0,c2>0和n0,使得?n≥n0,有c1*g(n) ≤f(n) ≤ c2*g(n)。由于c1≠0,c2≠0,f(n) ≥c1*g(n)可得g(n) ≤ 1/c1*f(n),同时,f(n) ≤c2*g(n),有g(n) ≥ 1/c2*f(n),即1/c2*f(n) ≤g(n) ≤ 1/c1*f(n),故g=Θ(f)。 3)Ο(f+g)= Ο(max(f,g)),对于Ω和Θ同样成立。 证明:设F(n)= Ο(f+g),则存在c1>0,和n1,使得?n≥n1,有 F(n) ≤ c1 (f(n)+g(n)) = c1 f(n) + c1g(n) ≤ c1*max{f,g}+ c1*max{f,g} =2 c1*max{f,g} 所以,F(n)=Ο(max(f,g)),即Ο(f+g)= Ο(max(f,g)) 对于Ω和Θ同理证明可以成立。 4)log(n!)= Θ(nlogn)

证明: ?由于log(n!)=∑=n i i 1 log ≤∑=n i n 1 log =nlogn ,所以可得log(n!)= Ο(nlogn)。 ?由于对所有的偶数n 有, log(n!)= ∑=n i i 1 log ≥∑=n n i i 2 /log ≥∑=n n i n 2 /2/log ≥(n/2)log(n/2)=(nlogn)/2-n/2。 当n ≥4,(nlogn)/2-n/2≥(nlogn)/4,故可得?n ≥4,log(n!) ≥(nlogn)/4,即log(n!)= Ω(nlogn)。 综合以上两点可得log(n!)= Θ(nlogn) 2. 设计一个算法,求给定n 个元素的第二大元素,并给出算法在最坏情况下使用的比较次数。(复杂度至多为2n-3) 算法: V oid findsecond(ElemType A[]) { for (i=2; i<=n;i++) if (A[1]

历年算法与程序设计学业水平考试真题带答案

一、选择题 1、流程图是描述()的常用方式。 A、程序 B、算法 C、数据结构 D、计算规则 2、下面不属于算法描述方式的是()。 A、自然语言 B、伪代码 C、流程图 D、机器语言 3、以下运算符中运算优先级最高的是()。 A、+ B、^ C、>= D、* 4、某程序中三个连续语句如下: a=1 b=2 c=b+a 它属于() A、顺序结构 B、选择结构 C、循环结构 D、以上三种都不是 5、穷举法的适用范围是() A、一切问题 B、解的个数极多的问题 C、解的个数有限且可一一列举 D、不适合设计算法 6、在现实生活中,人工解题的过程一般分为() A、理解分析问题→寻找解题方法→用工具计算→验证结果

B、寻找解题方法→理解分析问题→用工具计算→验证结果 C、用工具计算→验证结果→寻找解题方法→理解分析问题 D、用工具计算→验证结果→理解分析问题→寻找解题方法 7、下列关于算法的特征描述不正确的是() A、有穷性:算法必须在有限步之内结束 B、确定性:算法的每一步必须确切的定义 C、输入:算法必须至少有一个输入 D、输出:算法必须至少有一个输出 8、下列哪一个不是用于程序设计的软件() A、BASIC B、C语言 C、Word D、Pascal 9、下列可以作为合作变量名的是() A、a7 B、7a C、a-3 D、8 10、编程求1+2+3+........+1000的和,该题设计最适合使用的控制结构为()。 A、顺序结构 B、分支结构 C、循环结构 D、选择结构 11、下列步骤不属于软件开发过程的是() A、任务分析与系统设计 B、软件的销售 C、代码编写与测试 D、软件测试与维护12.以下程序段运行时,语句k=k+1 执行的次数为()次。

最新高中信息技术《算法与程序设计》试题精品版

2020年高中信息技术《算法与程序设计》 试题精品版

新课标高中信息技术《算法与程序设计》试题一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是( ) A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 ……

算法设计与分析复习题

一、选择题(多选) 1.算法必须满足哪些条件? 算法是指解决问题的一种方法或一个过程。算法是若干指令的有穷序列,满足条件: (1)输入:有零个或多个由外部提供的量作为算法的输入。 (2)输出:算法产生至少一个量作为输出。 (3)确定性:组成算法的每条指令是清晰,无歧义的。 (4)有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。 2.哪些问题比较适合用递归算法? 阶乘函数、Fibonacci数列、Ackerman函数、排列问题、整数划分问题、Hanoi塔问题分治策略(是高级的递归算法):(1)二分搜索技术、(2)大整数的乘法、(3)Strassen 矩阵乘法、(4)棋盘覆盖、(5)合并排序、(6)快速排序、(7)线性时间选择、(8)最接近点对问题、(9)循环赛日程表 3. 哪些问题比较适合用贪心算法? (1)活动安排问题(2)最优装载问题(3)哈夫曼编码(4)单源最短路径(5)最小生成树(6)多机调度问题 4. 哪些问题比较适合用回溯法? (1)装载问题(2)批处理作业调度(3)符号三角形问题(4)n后问题(5)0-1背包问题(6)最大团问题(7)图的m着色问题(8)旅行售货员问题(9)圆排列问题(10)电路板排列问题(11)连续邮资问题 二、概念题 1.递归的概念是什么? 直接或间接地调用自身的算法称为递归算法。用函数自身给出定义的函数称为递归函数。2.什么是0-1背包问题? 给定n种物品和一个背包:物品i的重量是wi,其价值为vi,背包的容量为C。选择装入背包的物品,对于每种物品i只有两种选择,即装入背包或不装入背包,不能将物品i装入背包多次,也不能只装入部分的物品i,最终要使得装入背包中物品的总价值最大。该问题被称为0-1背包问题。 3.什么是哈夫曼编码,它有什么优缺点? 由哈夫曼提出构造最优前缀码的贪心算法,由此产生的编码方案称为哈夫曼编码。哈夫曼编码是广泛地用于数据文件压缩。用于数据的无损耗压缩。其压缩率通常在20%~90%之间。 优点:给出现频率高的字符较短的编码,出现频率较低的字符以较长的编码,可以大大缩短总码长。 缺点:依赖于信源的统计特性,必须先统计得到信源的概率特性才能编码,而实际应用中,通常可在经验基础上预先提供Huffman码表,此时其性能有所下降。 4.什么是图的m着色问题? 给定一个无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。是否有一种着色法使G中每条边的2的顶点着有不同颜色。这个问题是图的m可着色判定问题。若一个图最少需要m种颜色才能使图中每条边连接的2个顶点着不同颜色,则称现这个数m为该图的色数。求一个图的色数m的问题称为图的m可着色优化问题。 5.什么是单源最短路径问题?

高中信息技术算法与程序设计练习题

高中信息技术算法与程序设计(VB)练习题2004年8月20日作者:洪鼎文化中心浏览选项:大中小--> 颜色Black Red Yellow Pink Green Orange Purple Blue Beige Brown Teal Navy Maroon LimeGreen 本一、选择题: 1.下列各组控件都具有Caption属性的是 A.窗体、文本框 B.标签、定时器 C.窗体、标签 D.文本框、定时器 2.下列各组控件具有相同默认事件的是 A.窗体、文本框 B.标签、按钮 C.窗体、标签 D.文本框、按钮 3.下列每个控件都具有的属性是 https://www.360docs.net/doc/a612093169.html, B.Caption C.Font D.Interval 4.下列运算结果中,值最大的是 A.34 B.3/4 C.4 mod 3 D.3 mod 4 〖/表示除,表示整除,mod表示求余数〗 5.以下哪个是合法的变量名 A.Len B.Test@qw C.6cost_1 D.count2s 6.在Visual Basic代码中,将多个语句合并在一行上的并行符是 A. 撇号(') B. 冒号(:) C. 感叹号(!) D. 问号(?) 7.如果要求设置定时器时间间隔为0.5秒钟,那么它的Interval属性值应该是 A.5000 B.500 C.50 D.5 8.下列控件中可设置滚动条是 A.计时器 B.标签 C.文本框 D.按钮 9.下面程序执行的结果是 Private Sub Form_Click() A = "123": B = "456" C = Val(A) + Val(B) 〖val是把字符转化为数值的函数〗 Print C 100 End Sub A.123 B.3 C.5 D.579 10.若要求从文本框中输入密码时在文本框中只显示#号,则应当在此文本框的属性窗口中设置 A. Text属性值为"#" B.Caption属性值为"#" C.password属性值为空"#" D.Passwordchar属性值为"#" 11.下列逻辑运算结果为"true"的是 A.flase or not true B.flase and not true C. true or not true D.true and not true 12.下列控件中可用于接受用户输入文本,又可用于显示文本的是 A.Label 控件 B. TextBox 控件 C. Timer 控件 D. CommandButton 控件 13.以下程序段执行后,整型变量n 的值为 year=2001 n=year4+year400-year100 A. 495 B. 505 C. 500 D. 485 14.下列关于CommandButton 控件的叙述正确的是 A. CommandButton 控件的Caption 属性决定按钮上显示的内容 B. 单击VB应用程序中的按钮,则系统激活按钮控件对应的Change 事件 C. CommandButton 控件的name 属性决定按钮上显示的内容

相关文档
最新文档