计算机算法设计与分析期末试题4套(含答案)

计算机算法设计与分析期末试题4套(含答案)
计算机算法设计与分析期末试题4套(含答案)

(1)用计算机求解问题的步骤: 1问题分析2、数学模型建立3、算法设计与选择4、算法指标5、算法分析6、算法实现7、 程序调试8、结果整理文档编制 (2) 算法定义:

算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程 (3) 算法的三要素

1操作2、控制结构3、数据结构 算法具有以下5个属性:

有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。 确定性:算法中每一条指令必须有确切的含义。 不存在二义性。只有一个入口和一个出

可行性:一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有 限次来实现的。

输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。 输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。 算法设计的质量指标:

正确性:算法应满足具体问题的需求;

可读性:算法应该好读,以有利于读者对程序的理解;

健壮性:算法应具有容错处理, 当输入为非法数据时,算法应对其作出反应, 而不是产

生莫名其妙的输出结果。

效率与存储量需求:效率指的是算法执行的时间; 存储量需求指算法执行过程中所需要

的最大存储空间。一般这两者与问题的规模有关。

经常采用的算法主要有迭代法、分而治之法、贪婪法、动态规划法、回溯法、分支限界法

利用迭代算法解决问题,需要做好以下三个方面的工作:

一、 确定迭代模型。在可以用迭代算法解决的问题中, 至少存在一个直接或 间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。

二、 建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下 一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以 使用递推或倒推的方法来完成。

三、对迭代过程进行控制。在什么时候结束迭代过程?这是编写迭代程序必 须考虑的问题。不能让迭代过程无休止地重复执行下去。 迭代过程的控制通常可 分为两种情况:一种是所需的迭代次数是个确定的值, 可以计算出来;另一种是 所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实 现对迭代

迭代法也称“辗转法”, 法。 是一种不断用变量的旧值递推出新值的解决问题的方

过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。

编写计算斐波那契(Fibonacci)数列的第n项函数fib (n)

斐波那契数列为:0、1、1、2、3、……,即: fib(O)=O;

fib(1)=1;

fib(n)=fib(n-1)+fib(n-2) (当n>1 时)。

写成递归函数有:

int fib(i nt n)

{ if (n==0) retur n 0;

if (n==1) retur n 1;

if (n>1) return fib(n-1)+fib(n-2);

}

一个饲养场引进一只刚出生的新品种兔子,这种兔子从出生的下一个月开始,每月新生一只兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,问到第12个月时,该饲养场共有兔子多少只?

分析:这是一个典型的递推问题。我们不妨假设第1个月时兔子的只数为u 1 ,第2个月时兔子的只数为u 2 ,第3个月时兔子的只数为u 3,…… 根据题意,“这种兔子从出生的下一个月开始,每月新生一只兔子”,则有

u 1 = 1 ,u2 = u 1 + u 1 X 1 = 2 ,u3 = u 2 + u 2 X 1 = 4,……

根据这个规律,可以归纳出下面的递x=1

推公式:for i=2 to 12

u n = u n —1 X 2 (n > 2) y=x*2

对应u n 和u n — 1 ,定义两x=y

个迭代变量y和x,可将上面的递next i

推公式转换成如下迭代关系:print y

y=x*2 end

x=y

让计算机对这个迭代关系重复执

行11次,就可以算出第12个月时

的兔子数。参考程序如下:

cis

分而治之法

1、分治法的基本思想

任何一个可以用计算机求解的问题所需的计算时间都与其规模N有关。问题

的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的

排序问题,当n=1时,不需任何计算;n=2时,只要作一次比较即可排好序;n=3时只要作3次比较即可,…。而当n较大时,问题就不那么容易处理了。要想直接解决

一个规模较大的问题,有时是相当困难的。

分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的

相同问题,以便各个击破,分而治之。

分治法所能解决的问题一般具有以下几个特征:

(1)该问题的规模缩小到一定的程度就可以容易地解决;

(2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;

(3)禾9用该问题分解出的子问题的解可以合并为该问题的解;

(4)该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。

3、分治法的基本步骤

分治法在每一层递归上都有三个步骤:

(1)分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;

(2)解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;

(3)合并:将各个子问题的解合并为原问题的解。

快速排序

在这种方法中,n个元素被分成三段(组):左段I e f t,右段r i g h t和中段m i d d l e。中

段仅包含一个元素。左段中各元素都小于等于中段元素,右段中各元素都大于等于中段元素。

因此I e f t和r i g h t中的元素可以独立排序,并且不必对I e f t和r i g h t的排序结果进行合并。m i d d I e中的元素被称为支点(p i v o t )。图1 4 - 9中给出了快速排序的伪代码。

/ /使用快速排序方法对a[ 0 :n- 1 ]排序

从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点

把余下的元素分割为两段left和r i g h t,使得I e f t中的元素都小于等于支点,而right 中的元素都大于等于支点

递归地使用快速排序方法对left进行排序

递归地使用快速排序方法对right进行排序

所得结果为I e f t + m i d d I e + r i g h t

考察元素序列[4,8,3,7 , 1 , 5,6,2 ]。假设选择元素6作为支点,则6位于m i d d I e ;4, 3, 1, 5, 2位于I e f t ;8, 7位于r i g h t。当left排好序后,所得结果为1, 2, 3, 4, 5;当r i g h t排好序后,所得结果为7, 8。把right中的元素放在支点元素之后,I e f t中的元素放在支点元素之前,即可得到最终的结果[1 , 2,3,4,5,6,7,8 ]。

把元素序列划分为I e f t、m i d d I e和r i g h t可以就地进行(见程序1 4 - 6 )。在程序

1 4 - 6中,支点总是取位置1中的元素。也可以采用其他选择方式来提高排序性能,本章稍 后部分将给出这样一种选择。

程序14-6快速排序

template

void QuickSort(T*a, int n) {//对a[0:n-1]进行快速排序

{//要求a[n]必需有最大关键值 quickSort(a, 0, n-1); template

void quickSort(T a[], int l, int r) {// 排序 a [ l : r ], a[r+1]有大值

if (l >= r) return;

int i = l, //从左至右的游标 j = r + 1; //从右到左的游标 T pivot = a[l];

//把左侧>=pivot 的元素与右侧 <=

pivot 的元素进行交换

while (true) {

do {//在左侧寻找>=pivot 的元素 i = i + 1;

贪婪法

它采用逐步构造最优解的思想,在问题求解的每一个阶段,都作出一个在一 定标准下看上

去最优的决策;决策一旦作出,就不可再更改。制定决策的依据称为贪婪准则。

贪婪法是一种不追求最优解,只希望得到较为满意解的方法。贪婪法一般可以快速得到 满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。

贪婪法常以当 前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪婪法不要回溯。

背包问题

问题描述:有不同价值、不同重量的物品 n 件,求从这n 件物品中选取一部分物品的选择方案,使

选中物品的总重量不超过指定的限制重量,但选中物品的价值之和最大。

} while (a < pivot);

do {//在右侧寻找<=pivot 的元素 j = j - 1;

} while (a[j] > pivot);

if (i >= j) break; // 未发现交换对象 Swap(a, a[j]); }

// 设置 p i v o t a[l] = a[j]; a[j] = pivot;

quickSort(a, l, j-1); // 对左段排序 quickSort(a, j+1, r); // 对右段排序 }

#i nclude void mai n() {

int

m, n,i,j,w[50],p[50],pl[50],b[50],s=0,max;

printf("输入背包容量 m,物品种类n :"); scan f("%d %d", &m,&n);

for(i=1;i<=n;i=i+1) {

printf("输入物品的重量 W 和价值

P :");

scan f("%d %d",&w[i],& p[i]); pl[i]=p[i]; s=s+w[i];

动态规划的基本思想

前文主要介绍了动态规划的一些理论依据, 我们将前文所说的具有明显的阶段划分和状态转 移方程的动态规划称为标准动态规划,这种标准动态规划是在研究多阶段决策问题时推导出 来的,具有严格的数学形式,适合用于理论上的分析。在实际应用中, 许多问题的阶段划分

并不明显,这时如果刻意地划分阶段法反而麻烦。 一般来说,只要该问题可以划分成规模更

小的子问题,并且原问题的最优解中包含了子问题的最优解(即满足最优子化原理)

,则可

以考虑用动态规划解决。

动态规划的实质是 分治思想和解决冗余,因此,动态规划 是一种将问题实例分解为更小的、 相似的子问题,并存储子问题的解而避免计算重复的子问题, 以解决最优化问题的算法策略。

由此可知,动态规划法与分治法和贪心法类似, 它们都是将问题实例归纳为更小的、

相似的

子问题,并通过求解子问题产生一个全局最优解。

贪心法的当前选择可能要依赖已经作出的所有选择,但不依赖于有待于做出的选择和子问 题。因此贪心法自顶向下,一步一步地作出贪心选择; 而分治法中的各个子问题是独立的(即不包含公共的子问题) ,因此一旦递归地求出各子问 题的解后,便可自下而上地将子问题的解合并成问题的解。 不足之处:如果当前选择可能要依赖子问题的解时, 则难以通过局部的贪心策略达到全局最

优解;如果各子问题是不独立的,则分治法要做许多不必要的工作,

重复地解公共的子问题。

解决上述问题的办法是利用动态规划。

该方法主要应用于最优化问题, 这类问题会有多种可

能的解,每个解都有一个值,而动态规划找出其中最优(最大或最小)值的解。若存在若干 个取最优值的解的话, 它只取其中的一个。 在求解过程中,该方法也是通过求解局部子问题 的解达到全局最优解,但与分治法和贪心法不同的是,动态规划允许这些子问题不独立, (亦

即各子问题可包含公共的子问题) 也允许其通过自身子问题的解作出选择, 该方法对每一个

子问题只解一次,并将结果保存起来,避免每次碰到时都要重复计算。 因此,动态规划法所针对的问题有一个显著的特征, 即它所对应的子问题树中的子问题呈现

大量的重复。动态规划法的关键就在于,

对于重复出现的子问题, 只在第一次遇到时加以求

解,并把答案保存起来,让以后再遇到时直接引用,不必重新求解。

3、动态规划算法的基本步骤 设计一个标准的动态规划算法,通常可按以下几个步骤进行: (1)

划分阶段:按照问题的时间或空间特征,把问题

}

if(s<=m) {

printf("whole choose'n"); //return; }

for(i=1;i<=n;i=i+1) {

max=1;

for(j=2;j<=n;j=j+1) if(pl[j]/w[j]>pl[max]/w[max]) max=j;

}

pl[max]=0; b[i]=max; } for(i=1,s=0;s

w[b[i-1]]=m-w[b[i-1]]; for(j=1;j<=i-1;j=j+1) prin tf("choose weight %d\n",w[b[j]]);

分为若干个阶段。注意这若干个阶段一定要是有序的或者是可排序的(即无后向性) ,否则问题就无法用动态规划求解。

(2 )选择状态:将问题发展到各个阶段时所处于的各种客观情况用不同的状态表示出来。当然,状态的选择要满足无后效性。

(3 )确定决策并写出状态转移方程:之所以把这两步放在一起,是因为决策和状态转移有

着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以,如果我们确定了决策,状态转移方程也就写出来了。但事实上,我们常常是反过来做,根据相邻两段的各状态之间的关系来确定决策。

(4)写出规划方程(包括边界条件):动态规划的基本方程是规划方程的通用形式化表达式。一般说来,只要阶段、状态、决策和状态转移确定了,这一步还是比较简单的。动态规划的主要难点在于理论上的设计,一旦设计完成,实现部分就会非常简单。根据动态规划的基本

方程可以直接递归计算最优值,但是一般将其改为递推计算,实现的大体上的框架如下:标准动态规划的基本框架

1.对f n+1(X n+1)初始化;{边界条件}

for k:=n dow nto 1 do

for 每一个X k€ X k do

for 每一个U k€ 5(x k) do

begin

f k(X k):= 一个极值;{g或—a }

X k+1 :=T k(X k,U k); {状态转移方程}

t:= ?f k+1(X k+1),V k(X k,U k));{基本方程(9)式}

if t 比f k(x k)更优then f k(x k):=t; {计算f k(x k)的最优值}

en d;

t:=一个极值;{g或—g }

for 每一个X1 € X1 do

if f 1(x1)比t更优then t:=f 1(x1); {按照10式求出最优指标}

输出t;

但是,实际应用当中经常不显式地按照上面步骤设计动态规划,而是按以下几个步骤进行:

(1)分析最优解的性质,并刻划其结构特征。

(2)递归地定义最优值。

(3 )以自底向上的方式或自顶向下的记忆化方法(备忘录法)计算出最优值。

(4 )根据计算最优值时得到的信息,构造一个最优解。

步骤(1)?(3)是动态规划算法的基本步骤。在只需要求出最优值的情形,步骤( 4)可以省略,若需要求出问题的一个最优解,则必须执行步骤( 4)。此时,在步骤(3)中计算

最优值时,通常需记录更多的信息,以便在步骤( 4)中,根据所记录的信息,快速地构造

出一个最优解。

总结:动态规划实际上就是最优化的问题,是指将原问题的大实例等价于同一最优化问题的

较小实例,自底向上的求解最小实例,并将所求解存放起来,存放的结果就是为了准备数据。

与递归相比,递归是不断的调用子程序求解,是自顶向下的调用和求解。

回溯法

回溯法也称为试探法,该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选

解按某种顺序逐一枚举和检验。当发现当前候选解不可能是解时,就选择下一个候选解;倘

若当前候选解除了还不满足问题规模要求外,满足所有其他要求时,继续扩大当前候选解的

规模,并继续试探。如果当前候选解满足包括问题规模在内的所有要求时,该候选解就是问

题的一个解。在回溯法中,放弃当前候选解,寻找下一个候选解的过程称为回溯。扩大当前候选解的规模,以继续试探的过程称为向前试探。

1回溯法的一般描述

可用回溯法求解的问题P,通常要能表达为:对于已知的由n元组(x2,…,x n)组成的一个状态空间E={ (X!, X2,…,X n)l X i€ S i , i=l , 2,…,n},给定关于n元组中的一个分量的一个约束集D,要求E中满足D的全部约束条件的所有n元组。其中S i是分量X i的定义域,且|引有限,i=1 , 2,…,n。我们称E中满足D的全部约束条件的任一n元组为问题P的一个解。

解问题P的最朴素的方法就是枚举法,即对E中的所有n元组逐一地检测其是否满足D的

全部约束,若满足,则为问题P的一个解。但显然,其计算量是相当大的。

我们发现,对于许多问题,所给定的约束集D具有完备性,即i元组(X!, X2,…,xj满

足D中仅涉及到X1 , X2,…,X i的所有约束意味着j (jj。因此,对于约束集D具有完备性的问题P, —旦检测断定某个j元组(X i , X2,…,X j)违反D中仅涉及X i, X2,…,X j的一个约束,就可以肯定,以(X i , X2,…,X j)为前缀的任何n 元组(x i, x2,…,X j, x j+i,…,x n)都不会是问题P的解,因而就不必去搜索它们、检测它们。回溯法正是针对这类问题,利用这类问题的上述性质而

提出来的比枚举法效率更高的算法。

回溯法首先将问题P的n元组的状态空间E表示成一棵高为n的带权有序树T,把在E中求问题P 的所有解转化为在T中搜索问题P的所有解。树T类似于检索树,它可以这样构造:设S i中的元素可排成X i⑴,X i⑵,…,X i(mi-i), |S i| =m i, i=i , 2,…,n。从根开始,让T的第I层的每一个结点都有m i个儿子。这m i个儿子到它们的双亲的边,按从左到右的次序,分别带权

X i+i⑴,x i+i⑵,…,x i+i(mi), i=0 , i, 2,…,n-i。照这种构造方式,E 中的一个n元组(X i, X2,…,

X n)对应于T中的一个叶子结点,T的根到这个叶子结点的路径上依次的n条边的权分别为X i,

X2,…,X n,反之亦然。另外,对于任意的0< i< n-i, E中n元组(X i, X2,…,X n)的一个前缀I元组(X i, X2,…,X i)对应于T中的一个非叶子结点,T 的根到这个非叶子结点的路径上依次的I条边的权分别为X i, X2,…,X i,反之

亦然。特别,E中的任意一个n元组的空前缀(),对应于T的根。

因而,在E中寻找问题P的一个解等价于在T中搜索一个叶子结点,要求从T的根到该叶子结点的路径上依次的n条边相应带的n个权x i, X2,…,X n满足约束集D的全部约

束。在T中搜索所要求的叶子结点,很自然的一种方式是从根出发,按深度优先的策略逐步深入,即依次搜索满足约束条件的前缀i元组(x ii)>前缀2元组(x i, x2)、…,前缀I

元组(X i, X2,…,X i),…,直到i=n为止。

在回溯法中,上述引入的树被称为问题P的状态空间树;树T上任意一个结点被称为问

《计算机算法设计与分析》习题及答案

《计算机算法设计与分析》习题及答案 一.选择题 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。随机数函数 D.搜索函数 19. (D)是贪心算法与动态规划算法的共同点。 A、重叠子问题 B、构造最优解 C、贪心选择性质 D、最优子结构性质 20. 矩阵连乘问题的算法可由( B )设计实现。 A、分支界限算法 B、动态规划算法 C、贪心算法 D、回溯算法 21. 分支限界法解旅行售货员问题时,活结点表的组织形式是( A )。

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

算法设计与分析考试题 及答案 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

计算机基础知识试题及答案全

计算机基础知识试题及 答案全 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

《大学计算机》基础知识试题及答案 (说明:将认为正确答案的字母填写在每小题后面的括号内) 1.世界上第一台通用电子数字计算机诞生于( A )。 A.美国B.英国C.德国 D.日本 2.世界上第一台通用电子数字计算机诞生于( B )。 A.1953年B.1946年C.1964年 D.1956年 3.第一台电子计算机是1946年在美国研制的,该机的英文缩写名是 (A )。 4.一个完整的微型计算机系统应包括( C )。 A.计算机及外部设备 B.主机箱、键盘、显示器 和打印机 C.硬件系统和软件系统 D.系统软件和系统硬件 5.计算机的中央处理器CPU包括运算器和( C )两部分。 A.存储器B.寄存器C.控制器 D.译码器 6.下列设备中,( D )不是微型计算机的输出设备。 A.打印机B.显示器C.绘图仪 D.扫描仪 7.下列各项中,不属于多媒体硬件的是(D )。 A.光盘驱动器 B.视频卡 C.音频卡 D.加密卡 8.计算机中对数据进行加工与处理的部件,通常称为( A )。 A.运算器 B.控制器 C.显示器 D.存储器 9.运算器的组成部分不包括( B )。 A.控制线路 B.译码器 C.加法器 D.寄 存器 10.把内存中的数据传送到计算机的硬盘,称为( D )。 A.显示 B.读盘 C.输入 D.写盘

11.用MIPS为单位来衡量计算机的性能,它指的是计算机的( B ),指 的是每秒处理的百万级的机器语言指令数。 A.传输速率 B.运算速度 C.字长 D.存储器容量 12.计算机硬件的核心部件是( A )。 A.中央处理器B.存储器C.运算器D.控制器13.在外部设备中,打印机属于计算机的( B )设备。 A.输入B.输出C.外存储D.内存储 14.CGA、EGA和VGA标志着( C )的不同规格和性能。 A.打印机 B.存储器 C.显示器 D.硬 盘 15.硬盘上原存的有效信息,在下列哪种情况下会丢失( C )。 A.通过海关的X射线监视仪 B.放在盒内半年没有使用 C.放在强磁场附近 D.放在零下10摄 氏度的库房中 16.人们把以( A )为硬件基本部件的计算机称为第四代计算机。 A.大规模和超大规模集成电路和RAM C.小规模集成电路 D.磁带与磁盘 17.用计算机管理科技情报资料,是计算机在(B )方面的应用。 A.科学计算 B.数据处理 C.实时控制 D.人 工智能 18.主机板上CMOS芯片的主要用途是( C )。 A.管理内存与CPU的通讯 B.增加内存的容量 C.储存时间、日期、硬盘参数与计算机配置信息 D.存放基本输入输出系统程序、引导程序和自检程序 19.下列有关存储器读写速度的排列,正确的是(B )。 >Cache>硬盘B.Cache>RAM>硬盘 >硬盘>RAM D.RAM>硬盘>Cache 20.使用Cache可以提高计算机运行速度,这是因为(C )。 增大了内存的容量扩大了硬盘的容量 缩短了CPU的等待时间可以存放程序和数据 21.一台微机的型号中含有486、586等内容时,其含义是( A )。 A.运算控制单元的档次 B.软盘容量大小

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

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类问题。。

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

算法实现题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.若序列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算法的思想。

计算机试题及答案

单选题 1、国税系统网络安全管理办法要求禁止在工作机上使用来历不明的磁盘、光盘等存储介质,纳税人因办税报送的的数据,必须在()上查杀病毒后导入数据。 A、未联网的单机 B、连接互联网的计算机 C、装有杀毒软件的金税内网计算机 D、任意计算机 2、您可能经常听别人说,某台电脑的内存不够了,硬盘太小了之类的话。这里的“不够”、“太小”都指的是它们的() A : 体积 B : 面积 C : 容量 D : 数量 3、计算机网络的目标是实现____。 A、数据处理 B、文献检索 C、资源共享和信息传输 D、信息传输 4、通过Internet发送或接收电子邮件(E-mail)的首要条件是应该有一个电子邮件(E-mail)地址,它的正确形式是____。 A、用户名@域名 B、用户名#域名 C、用户名/域名 D、用户名.域名 5、国税系统所有计算机和服务器必须安装总局统一的防病毒软件是() A、金山毒霸 B、诺顿防病毒软件 C、瑞星杀毒软件 D、卡巴斯基杀毒软件 6、许多黑客攻击都是利用软件实现中的缓冲区溢出的漏洞,对于这一威胁,最可靠的解决方案是什么? A.安装防病毒软件 B.给系统安装最新的补丁 C.安装防火墙 D.安装入侵检测系统 7、以下不属于防火墙作用的是______。 A、过滤信息 B、管理进程 C、清除病毒 D、审计监测 8、按照《互联网信息服务管理办法》,从事经营性互联网信息服务,除应当符合《电信条例》规定的要求外,还应当有健全的_______ 保障措施。 A、防火安全; B、保安; C、网络与信息安全 9、利用互联网实施违法行为,违反社会治安管理,尚不构成犯罪的,由_________依照《治安管理处罚条例》予以处罚。 A、人民法院 B、公安机关 C、工商部门

算法设计与分析试卷(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

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

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

计算机基础知识试题及答案(全)..

《大学计算机》基础知识试题及答案 (说明:将认为正确答案的字母填写在每小题后面的括号内) 1.世界上第一台通用电子数字计算机诞生于( A )。 A.美国B.英国C.德国D.日本 2.世界上第一台通用电子数字计算机诞生于( B )。 A.1953年B.1946年C.1964年D.1956年 3.第一台电子计算机是1946年在美国研制的,该机的英文缩写名是(A )。 A.ENIAC B.EDVAC C.EDSAC D.MARK-II 4.一个完整的微型计算机系统应包括( C )。 A.计算机及外部设备 B.主机箱、键盘、显示器和打印机 C.硬件系统和软件系统 D.系统软件和系统硬件 5.计算机的中央处理器CPU包括运算器和( C )两部分。 A.存储器B.寄存器C.控制器D.译码器 6.下列设备中,( D )不是微型计算机的输出设备。 A.打印机B.显示器C.绘图仪D.扫描仪 7.下列各项中,不属于多媒体硬件的是(D )。 A.光盘驱动器 B.视频卡 C.音频卡 D.加密卡 8.计算机中对数据进行加工与处理的部件,通常称为( A )。 A.运算器 B.控制器 C.显示器 D.存储器 9.运算器的组成部分不包括( B )。 A.控制线路 B.译码器 C.加法器 D.寄存器 10.把内存中的数据传送到计算机的硬盘,称为( D )。 A.显示 B.读盘 C.输入 D.写盘 11.用MIPS为单位来衡量计算机的性能,它指的是计算机的( B ),指的是每秒处理的百 万级的机器语言指令数。 A.传输速率 B.运算速度 C.字长 D.存储器容量 12.计算机硬件的核心部件是( A )。 A.中央处理器B.存储器C.运算器D.控制器 13.在外部设备中,打印机属于计算机的( B )设备。 A.输入B.输出C.外存储D.内存储 14.CGA、EGA和VGA标志着( C )的不同规格和性能。 A.打印机 B.存储器 C.显示器 D.硬盘 15.硬盘上原存的有效信息,在下列哪种情况下会丢失( C )。 A.通过海关的X射线监视仪 B.放在盒内半年没有使用

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

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 )。

算法设计与分析第2版 王红梅 胡明 习题答案

精品文档习题胡明-版)-王红梅-算法设计与分析(第2答案 1 习题)—1783Leonhard Euler,17071.图论诞生于七桥问题。出生于瑞士的伟大数学家欧拉(提 出并解决了该问题。七桥问题是这样描述的:北区一个人是否能在一次步行中穿越哥尼斯堡(现东区在叫加里宁格勒,在波罗的海南岸)城中全部岛区的七座桥后回到起点,且每座桥只经过一次,南区是这条河以及河上的两个岛和七座桥的图1.7 1.7 七桥问题图草图。请将该问题的数据模型抽象出来,并判断此问题是否有解。 七桥问题属于一笔画问题。 输入:一个起点 输出:相同的点一次步行1,经过七座桥,且每次只经历过一次2,回到起点3,该问题无解:能一笔画的图形只有两类:一类是所有的点都是偶点。另一类是只有二个奇点的图形。)用的不是除法而是减最初的欧几里德算法2.在欧几里德提出的欧几里德算法中(即法。请用伪代码描述这个版本的欧几里德算法 1.r=m-n r=0 循环直到2.m=n 2.1 n=r 2.2 r=m-n 2.3 m 输出3 .设计算法求数组中相差最小的两个元素(称为最接近数)的差。要求分别给出伪代3++描述。C码和 采用分治法// //对数组先进行快速排序在依次比较相邻的差//精品文档. 精品文档 #include using namespace std; int partions(int b[],int low,int high) { int prvotkey=b[low]; b[0]=b[low]; while (low=prvotkey)

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

湖南科技学院二○年学期期末考试 信息与计算科学专业年级《算法设计与分析》试题 考试类型:开卷试卷类型: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

计算机算法试题含答案1

算法设计与分析试卷 一、填空题(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

(大学)计算机试题及答案

模拟卷2 一、单选题(每小题1分,共40分) 1.计算机最主要的工作特点是()。 A.高速度 B.高精度 C.存记忆能力 D.存储程序和程序控制 2.世界上第一台电子计算机诞生于()。 A.20世纪40年代 B.19世纪 C.20世纪80年代 D.1950年 3.32位微机中的32是指该微机()。 A.能同时处理32位二进制数 B.能同时处理32位十进制数 C.具有32根地址总线 D.运算精度可达小数点后32位 4.计算机中,浮点数由两部分组成,它们是()。 A.整数部分和小数部分 B.阶码部分和基数部分 C.基数部分和尾数部分 D.阶码部分和尾数部分 5.微处理器处理的数据基本单位为字,一个字的长度通常是 ()。 A.16个二进制位 B.32个二进制位

C.64个二进制位 D.与微处理器芯片的型号有关 6.在微型计算机系统中,存储数据的单位是()。 A.字节 B. 位 C.字 D. 字长 7.在计算机内部,用来传送、存储、加工处理的数据或指令 都是以()形式进行的。 A. 八进制 B. 十进制 C. 二进制 D. 十六进制 8.在微型计算机中,1K字节表示的二进制位数是()。 A. 8×1024 B. 8×1000 C. 1000 D. 1024 9.下列编码中,()与汉字信息处理无关。 A.BCD码 B.输入码 C.字模点阵码 D.区位码 10.关于基本ASCII码在计算机中的表示方法准确的描述是 ()。 A. 使用八位二进制数,最右边为1 B. 使用八位二进制数,最左边为1 C. 使用八位二进制数,最右边为0 D. 使用八位二进制数,最左边为0 11.下列四条叙述中,有错误的一条是()。

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

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

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

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

湖南科技学院二○ 年 学期期末考试 信息与计算科学专业 年级《算法设计与分析》 试题 考试类型:开卷 试卷类型:C 卷 考试时量:120 分钟 1. 用O 、Ω和θ表示函数f 与g 之间的关系______________________________。 ()()log log f n n n g n n == 2. 算法的时间复杂性为1, 1()8(3/7), 2 n f n f n n n =?=? +≥?,则算法的时间复杂性的阶 为__________________________。 3. 快速排序算法的性能取决于______________________________。 4. 算法是_______________________________________________________。 5. 在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是_________________________。 6. 在算法的三种情况下的复杂性中,可操作性最好且最有实际价值的是_____情况下的时间复杂性。 7. 大Ω符号用来描述增长率的下限,这个下限的阶越___________,结果就越有价值。。 8. ____________________________是问题能用动态规划算法求解的前提。 9. 贪心选择性质是指________________________________________________________ ____________________________________________________________。 题 号 一 二 三 四 五 总分 统分人 得 分 阅卷人

计算机基础知识试题及答案

计算机基础知识试题及答案-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

4. 3.5英寸的软盘,写保护窗口上有一个滑块,将滑块推向一侧,使其写保护窗口暴露出来,此时_____。 ( B ) A. 只能写盘,不能读盘 B. 只能读盘,不能写盘 C. 既可写盘,又可读盘 D. 不能写盘,也不能读盘 5. 3.5英寸盘的右下角有一塑料滑片,当移动它盖住缺口时_____。( B ) A. 不能读出原有信息,不能写入新的信息 B. 既能读出原有信息,也能写入新的信息 C. 不能读出原有信息,可以写入新的信息 D. 可以读出原有信息,不能写入新的信息 9. 微机系统的开机顺序是_____。 ( D ) A. 先开主机再开外设 B. 先开显示器再开打印机 C. 先开主机再打开显示器 D. 先开外部设备再开主机 13. 在微机中外存储器通常使用软盘作为存储介质,软磁盘中存储的信息,在断电后_____。 ( A ) A. 不会丢失 B. 完全丢失 C. 少量丢失 D. 大部分丢失 19. 硬盘连同驱动器是一种_____。 ( B ) A. 内存储器 B. 外存储器 C. 只读存储器 D. 半导体存储器 20. 在内存中,每个基本单位都被赋予一个唯一的序号,这个序号称之为_____。 ( C )

A. 字节 B. 编号 C. 地址 D. 容量 21. 在下列存储器中,访问速度最快的是_____。 ( C ) A. 硬盘存储器 B. 软盘存储器 C. 半导体RAM(内存储器) D. 磁带存储器 27. 在微机中的“DOS”,从软件归类来看,应属于_____。 ( C ) A. 应用软件 B. 工具软件 C. 系统软件 D. 编辑系统 28. 反映计算机存储容量的基本单位是_____。 ( B ) A. 二进制位 B. 字节 C. 字 D. 双字 31. 当前,在计算机应用方面已进入以什么为特征的时代_____。( D ) A. 并行处理技术 B. 分布式系统 C. 微型计算机 D. 计算机网络 35. 操作系统是。 ( C ) A. 软件与硬件的接口 B. 主机与外设的接口 C. 计算机与用户的接口 D. 高级语言与机器语言的接口 5.在资源管理器窗口中,被选中的文件或文件夹会____B___。A.加框显示 B.反像显示 C.加亮显示 D.闪烁显示

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

湖南科技学院二○ 年 学期期末考试 信息与计算科学专业 年级《算法设计与分析》 试题 考试类型:开卷 试卷类型: C 卷 考试时量: 120 分钟 题号 一 二 三 四 五 总分 统分人 得 分 阅卷人 一、填空题(每小题 3 分,共计 30 分) 1. 用 O 、Ω和θ表示函数 f 与 g 之间的关系 ______________________________ 。 f n n lo g n g n log n 1, n 1 2. 算法的时间复杂性为 f (n) n ,则算法的时间复杂性的阶 8 f (3n / 7) n, 2 为__________________________ 。 3. 快速排序算法的性能取决于 ______________________________ 。 4. 算法是 _______________________________________________________ 。 5. 在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的 是_________________________ 。 6. 在算法的三种情况下的复杂性中, 可操作性最好且最有实际价值的是 _____情况下的时间复杂性。 7. 大Ω符号用来描述增长率的下限,这个下限的阶越 ___________,结果就越有价值。 。 8. ____________________________ 是问题能用动态规划算法求解的前提。 9. 贪心选择性质是指 ________________________________________________________ ____________________________________________________________ 。

相关文档
最新文档