计算机算法试题(含答案)

计算机算法试题(含答案)
计算机算法试题(含答案)

算法设计与分析试卷

一、填空题(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

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的非增序排序min{bπ(i),aπ(i+1)}≥min{bπ(i+1),aπ(i)}

最小平均查找长度

综合题:20 min{ai+T(N-{i},bi)}(1=

法一: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}

N11={1,3,4} N12={2}

所以 N11→N12

得: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=

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

(2)m(n,j)=un j>=wn 或则

m(n,j)=0 0<=j

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]

1.在一个算法中调用另一个算法时,系统需在运行被调用算法之前完成哪些工作?同时从

被调用算法返回调用算法需完成哪些工作?

答:在一个算法中调用另一算法时,系统需在运行被调用算法之前先完成三件事:(1)将所有实参指针、返回地址等信息传递给被调用算法;

(2)为被调用算法的局部变量分配存储区;

(3)将控制转移到被调用算法的入口。

在从被调用算法返回调用算法时需完成三件事:

(1)保存被调用算法的计算结果;

(2)释放分配给被调用算法的数据区;

(3)依照被调用算法保存的返回地址将控制转移到调用算法。

2.动态规划算法求解问题的步骤?

答:动态规划法适用于解最优化问题。通常可以按以下4个步骤设计:

(1)找出最优解的性质,并刻画其结构特征;

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

(3)以自底向上的方式计算最优值;

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

3.线性规划法中单纯形算法的基本步骤?

答:步骤一选入基变量。

步骤二选离基变量。

步骤三做转轴变换。

步骤四转步骤一。

4.分治法的基本思想和原理是什么?

答:分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。递归地解这些子问题,然后将各子问题的解合并得到原问题的解。

5.利用回溯法解决问题包含哪些步骤?

答:利用回溯法解题常包含以下3步骤:

(1)针对所给问题,定义问题的解空间;

(2)确定易于搜索的解空间结构;

(3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。

五分析题(36分)

1.求下列函数的渐进表达式:

3n2+10n; n2/10+2n; 21+1/n; logn3; 10log3n

分析与解答:

3n2+10n=O(n2);

n2/10+2n=O(2n);

21+1/n=O(1);

logn3=O(logn);

10log3n=O(n)

2.讨论O(1)和O(2)的区别。

分析与解答:

根据符号O 的定义易知O(1)=O(2)。用O(1)或O(2)表示同一个函数时,差别仅在于其中的常数因子。

3.按渐近阶排列表达式

按照渐近阶从低到高的顺序排列以下表达式:4n 2,logn ,3n ,20n ,2,n 2/3。又n!应该排在哪一位?

分析与解答:

按渐近阶从低到高,函数排列顺序如下:2,logn ,n 2/3,20n ,4n 2,3n ,n !。

4.算法效率

(1)假设某算法在输入规模为n 时计算时间为T(n)=3*2n 。在某台计算机上实现并完成该算法

的时间为t 秒。现有另一台计算机,其运行速度为第一台的64倍,那么在这台新机器上用同一算法在t 秒内能解输入规模为多大的问题?

(2)若上述算法的计算时间改进为T(n)=n 2,其余条件不变,则在新机器上用t 秒时间能解输

入规模为多大的问题?

(3)若上述算法的计算时间进一步改进为T(n)=8,其余条件不变,那么在新机器上用t 秒时间能解输入规模为多大的问题?

分析解答:

(1)设新机器用同一算法在t 秒内能解输入规模为n1的问题。因此有:t=3*22=3*2n1/64,解

得你n1=n+6。

(2)n12=64n 2n1=8n 。

(3)由于T(n)=常数,因此算法可解任意规模的问题。

5.阶乘函数

阶乘函数可递归地定义为:

int factorial(int n)

{

if(n==0) return 1;

return n* factorial(n-1);

}

0)!1(1!>=???-=n n n n n

6.Fibonacci 数列

无穷数列1,1,2,3,5,8,13,21,34,55,……,称为Fibonacci 数列。它可以递归地定义为:

请对这个无穷数列设计一个算法,并进行描述(自然语言描述和VC++描述).

第n 个Fibonacci 数可递归地计算如下:

int fibonacci (int n)

{

if (n <= 1) return 1;

returnfibonacci (n-1)+fibonacci (n-2);

}

7.循环赛日程表

设有n=2k 个运动员要进行兵乓球循环赛。现在要设计一个满足以下要求的比赛日程表:

(1)每个选手必须与其他n-1个选手各赛一次;

(2)每个选手一天只能赛一次;

(3)循环赛一共进行n-1天。

请设计一个算法解决以上问题,并进行描述(自然语言和C++语言)

按分治策略,将所有的选手分为两半,n 个选手的比赛日程表就可以通过为n/2个选手设计的比赛日程表来决定。递归地用对选手进行分割,直到只剩下2个选手时,比赛日程表的制定就变得很简单。这时只要让这2个选手进行比赛就可以了。

8.有一批集装箱要装上一艘载重量为c 的轮船。其中集装箱i 的重量为Wi 。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。

分析回答以下两个问题:

(1)分析以上最优装载问题具有贪心选择性质

(2)用C++程序进行正确的算法描述

分析与解答:

(1) 设集装箱已依其重量从小到大排序,(x1,x2,…,x n )是最有装载问题的一个最优解。又

设k=min{i|x i =1}。易知,如果给定的最有装载问题有解,则1≤k ≤n 。

② 当k=1时,(x1,x2,…,x n )是满足贪心选择性质的最优解。

②当k>1时,取y 1=1;y k =0;y i =x i ,1

110)2()1(11)(>==??

???-+-=n n n n F n F n F

因此,()是所给最有装载问题的可行解。

另一方面,由知,()是满足贪心选择性质的最优解。所以,最优装载问题具有贪心

选择性质。

(2)最优装载问题可用贪心算法求解。采用重量最轻者先装的贪心选择策略,可产生最优装载问题的最优解。具体算法描述如下。

template

void Loading(int x[], Type w[], Type c, int n)

{

int *t = new int [n+1];

Sort(w, t, n);

for (int i = 1; i <= n; i++) x[i] = 0;

for (int i = 1; i <= n && w[t[i]] <= c; i++) {x[t[i]] = 1; c -= w[t[i]];}

}

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); ( 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公式为

( )] ,(),([2111+++++=n n n n n n y x f y x f h y y ); 10、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 13、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。 14、 用二分法求方程01)(3 =-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间 为 ,1 ,进行两步后根的所在区间为 , 。 15、 、 16、 计算积分?1 5 .0d x x ,取4位有效数字。用梯形公式计算求得的近似值为 ,用辛卜 生公式计算求得的近似值为 ,梯形公式的代数精度为 1 ,辛卜生公式的代数精度为 3 。 17、 求解方程组?? ?=+=+042.01532121x x x x 的高斯—塞德尔迭代格式为 ?????-=-=+++20/3/)51()1(1)1(2)(2)1(1 k k k k x x x x ,该迭 代格式的迭代矩阵的谱半径)(M ρ= 121 。 18、 设46)2(,16)1(,0)0(===f f f ,则=)(1x l )2()(1--=x x x l ,)(x f 的二次牛顿 插值多项式为 )1(716)(2-+=x x x x N 。 19、 求积公式 ?∑=≈b a k n k k x f A x x f )(d )(0 的代数精度以( 高斯型 )求积公式为最高,具 有( 12+n )次代数精度。

数值计算方法试题及答案

【 数值计算方法试题一 一、 填空题(每空1分,共17分) 1、如果用二分法求方程043=-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。 2、迭代格式)2(2 1-+=+k k k x x x α局部收敛的充分条件是α取值在( )。 3、已知?????≤≤+-+-+-≤≤=31)1()1()1(211 0)(2 33x c x b x a x x x x S 是三次样条函数, 则 a =( ), b =( ), c =( )。 4、)(,),(),(10x l x l x l n 是以整数点n x x x ,,,10 为节点的Lagrange 插值基函数,则 ∑== n k k x l 0)(( ), ∑== n k k j k x l x 0 )(( ),当2≥n 时 = ++∑=)()3(20 4x l x x k k n k k ( )。 ; 5、设1326)(2 47+++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[10n x x x f 和=?07 f 。 6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。 7、{}∞ =0)(k k x ?是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x ?,则?= 1 4)(dx x x ? 。 8、给定方程组?? ?=+-=-2211 21b x ax b ax x ,a 为实数,当a 满足 ,且20<<ω时,SOR 迭代法收敛。 9、解初值问题 00 (,)()y f x y y x y '=?? =?的改进欧拉法 ??? ??++=+=++++)],(),([2),(] 0[111] 0[1n n n n n n n n n n y x f y x f h y y y x hf y y 是 阶方法。

计算机编程及常用术语大全(英汉对照)

第一部分、计算机算法常用术语中英对照 Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 Set Data Structures 集合 Kd-Trees 线段树 Numerical Problems 数值问题 Solving Linear Equations 线性方程组 Bandwidth Reduction 带宽压缩 Matrix Multiplication 矩阵乘法 Determinants and Permanents 行列式 Constrained and Unconstrained Optimization 最值问题Linear Programming 线性规划 Random Number Generation 随机数生成 Factoring and Primality Testing 因子分解/质数判定Arbitrary Precision Arithmetic 高精度计算Knapsack Problem 背包问题 Discrete Fourier Transform 离散Fourier变换Combinatorial Problems 组合问题 Sorting 排序

Searching 查找 Median and Selection 中位数 Generating Permutations 排列生成 Generating Subsets 子集生成 Generating Partitions 划分生成 Generating Graphs 图的生成 Calendrical Calculations 日期 Job Scheduling 工程安排 Satisfiability 可满足性 Graph Problems -- polynomial 图论-多项式算法Connected Components 连通分支 Topological Sorting 拓扑排序 Minimum Spanning Tree 最小生成树 Shortest Path 最短路径 Transitive Closure and Reduction 传递闭包Matching 匹配 Eulerian Cycle / Chinese Postman Euler回路/中国邮路Edge and Vertex Connectivity 割边/割点 Network Flow 网络流 Drawing Graphs Nicely 图的描绘 Drawing Trees 树的描绘 Planarity Detection and Embedding 平面性检测和嵌入

计算机数值方法精彩试题

数值计算方法试题 一、填空(共20分,每题2分) 1、设,取5位有效数字,则所得的近似值x=_____. 2、设一阶差商, 则二阶差商 3、数值微分中,已知等距节点的函数值 则由三点的求导公式,有 4、求方程的近似根,用迭代公式,取初始值, 那么 5、解初始值问题近似解的梯形公式是 6、,则A的谱半径=,A的= 7、设,则=和 = 8、若线性代数方程组AX=b 的系数矩阵A为严格对角占优阵,则雅可比迭代和高斯-塞德尔 迭代都_____ 9、解常微分方程初值问题的欧拉(Euler)方法的局部截断误差为_____ 10、设,当时,必有分解式,其中L为下三角阵,当其对角线元素足条件 时,这种分解是唯一的。 二、计算题(共60 分,每题15分) 1、设 (1)试求在上的三次Hermite插值多项式H(x)使满足 H(x)以升幂形式给出。(2)写出余项的表达式 2、已知的满足,试问如何利用构造一个 收敛的简单迭代函数,使0,1…收敛? 3、试确定常数A,B,C和,使得数值积分公式 有尽可能高的代数精度。试问所得的数值积分公式代数精度是多少?它是否为Gauss型的? 4、推导常微分方程的初值问题的数值解公式: 三、证明题

1、设 (1)写出解的Newton迭代格式(2)证明此迭代格式是线性收敛的 2、设R=I-CA,如果,证明: (1)A、C都是非奇异的矩阵 (2) 参考答案: 一、填空题 1、2.3150 2、 3、 4、1.5 5、 6、 7、 8、收敛 9、O(h) 10、 二、计算题 1、1、(1) (2) 2、由,可得 因故 故,k=0,1,…收敛。 3、,该数值

计算机常见算法面试题

简介:计算机考研之家搜集的华为C语言经典面试题,来试试你的C语言水平吧。每道题都附有详细解答和讲解,很有参考价值的C语言面试题。 怎么判断链表中是否有环? bool CircleInList(Link* pHead) { if(pHead = = NULL || pHead->next = = NULL)//无节点或只有一个节点并且无自环 return (false); if(pHead->next = = pHead)//自环 return (true); Link *pTemp1 = pHead;//step 1 Link *pTemp = pHead->next;//step 2 while(pTemp != pTemp1 && pTemp != NULL && pTemp->next != NULL) { pTemp1 = pTemp1->next; pTemp = pTemp->next->next; } if(pTemp = = pTemp1) return (true); return (false); } 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串 void insert(char *s, char *t, int i) { memcpy(&s[strlen(t)+i],&s[i],strlen(s)-i); memcpy(&s[i],t,strlen(t)); s[strlen(s)+strlen(t)]='\0'; } 1。编写一个C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。 char * search(char *cpSource, char ch) { char *cpTemp=NULL, *cpDest=NULL; int iTemp, iCount=0; while(*cpSource) { if(*cpSource == ch) { iTemp = 0; cpTemp = cpSource; while(*cpSource == ch) ++iTemp, ++cpSource; if(iTemp > iCount)

数值计算方法试题

数值计算方法试题 重庆邮电大学数理学院 一、填空题(每空2分,共20分) 1、用列主元消去法解线性方程组 1、解非线性方程f(x)=0的牛顿迭代法具有 ,,,,,,,收 敛 2、迭代过程(k=1,2,…)收敛的充要条件是 2、已知y=f(x)的数据如下 ,,, x 0 2 3 3、已知数 e=2.718281828...,取近似值 x=2.7182,那麽x具有的有 f(x) 1 3 2 效数字是,,, 4、高斯--塞尔德迭代法解线性方程组求二次插值多项式及f(2.5) 3、用牛顿法导出计算的公式,并计算,要求迭代误差不超过 。 4、欧拉预报--校正公式求解初值问题的迭代格式中求 ,,,,,,,,,,,,, ,

5、通过四个互异节点的插值多项式p(x),只要满足,,,,,,取步长k=0.1,计算 y(0.1),y(0.2)的近似值,小数点后保留5位. ,,则p(x)是不超过二次的多项式 三、证明题 (20分每题 10分 ) 6、对于n+1个节点的插值求积公式 1、明定 积分近似计算的抛物线公式 具有三次代数精度至少具有,,,次代 数精度. 7、插值型求积公式的求积 2、若,证明用梯形公式计算积分所 系数之和,,, 得结果比准确值大,并说明这个结论的几何意义。 参考答案: T8、 ,为使A可分解为A=LL, 其中L一、填空题 1、局部平方收敛 2、< 1 3、 4 为对角线元素为正的下三角形,a的取值范围, 4、

5、三阶均差为0 6、n 7、b-a 9、若则矩阵A的谱半径(A)= ,,, 8、 9、 1 10、二阶方法 10、解常微分方程初值问题的梯形二、计算题 格式 1、是,,,阶方法 二、计算题(每小题15分,共60分) 修德博学求实创新 李华荣 1 重庆邮电大学数理学院 2、 右边: 3、 ?1.25992 (精确到 ,即保留小数点后5位) 故具有三次代数精度 4、y(0.2)?0.01903 A卷三、证明题

统考计算机考试试题及答案

1、利用计算机对指纹进行识别、对图像和声音进行处理属于的应用领域是_D_。 A、科学计算 B、自动控制 C、辅助设计 D、信息处理 2、当前计算机已应用于各种行业、各种领域,而计算机最早的设计是应用于B A、数据处理 B、科学计算 C、辅助设计 D、过程控制 3、1946年所设计的第一台计算机的目的是进行科学计算,其主要解决的问题 面向于B。 A、文化和教育 B、军事和科研 C、商业和服务 D、管理和网络 4、计算机网络的目标是实现____C__。 A、数据处理 B、文献检索 C、资源共享和信息传输 D、信息 传输 5、最早设计计算机的目的是进行科学计算,其主要计算的问题面向于__B__。 A、科研 B、军事 C、商业 D、管理 6、利用计算机来模仿人的高级思维活动称为___D_。 A、数据处理 B、自动控制 C、计算机辅助系统 D、人工智能 7、下列四项中,不属于多媒体所包括的媒体类型的是__A____。 A、X光 B、图像 C、音频 D、视频 8、当前计算机的应用领域极为广泛,但其应用最早的领域是__B__。 A、数据处理 B、科学计算 C、人工智能 D、过程控制 9、当前气象预报已广泛采用数值预报方法,这种预报方法会涉及计算机应用中 的__A__。 A、科学计算和数据处理 B、科学计算与辅助设计 C、科学计算和过程控制 D、数据处理和辅助设计 10、计算机最主要的工作特点是_A_____。 A、存储程序与自动控制 B、高速度与高精度 C、可靠性与可用性 D、有记忆能力 11、用来表示计算机辅助设计的英文缩写是__C__。 A、CAI B、CAM C、CAD D、CAT 12、计算机应用中最诱人、也是难度大且目前研究最为活跃的领域之一是_A__。 A、人工智能 B、信息处理 C、过程控制 D、辅助设计 13、某型计算机峰值性能为数千亿次/秒,主要用于大型科学与工程计算和大规模数据处理,它属于_A____。

数值计算方法试题一

数值计算方法试题一

数值计算方法试题一 一、 填空题(每空1分,共17分) 1、如果用二分法求方程043 =-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。 2、迭代格式)2(2 1 -+=+k k k x x x α局部收敛的充分条件是α取值在( )。 3、已知?????≤≤+-+-+-≤≤=31)1()1()1(2 110)(2 33x c x b x a x x x x S 是三次样条函数,则 a =( ),b =( ),c =( )。 4、)(,),(),(1 x l x l x l n 是以整数点n x x x ,,,10 为节点的Lagrange 插值基函数,则 ∑== n k k x l 0)(( ), ∑== n k k j k x l x 0 )(( ),当 2 ≥n 时 = ++∑=)()3(20 4 x l x x k k n k k ( )。 5、设1326)(2 4 7 +++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[1 n x x x f 和=?0 7 f 。 6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。 7、{}∞ =0 )(k k x ?是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0 =x ?,则 ?= 1 4 )(dx x x ? 。 8、给定方程组?? ?=+-=-2 21121b x ax b ax x ,a 为实数,当a 满足 ,且20<<ω时,SOR 迭代法收敛。

9、解初值问题 00 (,)()y f x y y x y '=?? =?的改进欧拉法 ?? ? ??++=+=++++)],(),([2),(] 0[111] 0[1n n n n n n n n n n y x f y x f h y y y x hf y y 是 阶方法。 10、设?? ?? ? ?????=11001a a a a A ,当∈a ( )时,必有分解式T LL A =,其中L 为下三角阵,当其对角线元素)3,2,1(=i l ii 满足( )条件时,这种分解是唯一的。 二、 选择题(每题2分) 1、解方程组b Ax =的简单迭代格式g Bx x k k +=+) () 1(收敛的充要条件是( )。 (1)1)(A ρ, (4) 1)(>B ρ 2、在牛顿-柯特斯求积公式: ?∑=-≈b a n i i n i x f C a b dx x f 0 )() ()()(中,当系数) (n i C 是负值时,公式的稳定性不能保证,所以实际应用中,当( )时的牛顿-柯特斯求积公式不使用。 (1)8≥n , (2)7≥n , (3)10≥n , (4)6≥n , x 0 0.5 1 1.5 2 2.5

VB程序设计的常用算法

VB程序设计的常用算法 算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。 一、计数、求和、求阶乘等简单算法 此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。 例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 本题使用数组来处理,用数组a(1 to 100)存放产生的确100个随机整数,数组x(1 to 10)来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在x(1)中,个位是2的个数存放在x(2)中,……个位是0的个数存放在x(10)。 将程序编写在一个GetTJput过程中,代码如下: Public Sub GetTJput() Dim a(1 To 100) As Integer Dim x(1 To 10) As Integer Dim i As Integer, p As Integer '产生100个[0,99]范围内的随机整数,每行10个打印出来 For i = 1 To 100 a(i) = Int(Rnd * 100) If a(i) < 10 Then Form1.Print Space(2); a(i); Else Form1.Print Space(1); a(i); End If If i Mod 10 = 0 Then Form1.Print Next i '统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数,并将统计结果保存在数组x(1),x(2),...,x(10)中,将统计结果打印出来 For i = 1 To 100 p = a(i) Mod 10 ' 求个位上的数字 If p = 0 Then p = 10 x(p) = x(p) + 1 Next i Form1.Print "统计结果" For i = 1 To 10 p = i If i = 10 Then p = 0 Form1.Print "个位数为" + Str(p) + "共" + Str(x(i)) + "个" Next i End Sub 二、求两个整数的最大公约数、最小公倍数 分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数) (1) 对于已知两数m,n,使得m>n; (2) m除以n得余数r; (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4); (4) m←n,n←r,再重复执行(2)。 例如:求m=14 ,n=6的最大公约数. m n r

《计算机审计》模拟试题及答案模板

《审计软件介绍》模拟笔试题 一、填空题(4分) 1.人们对数据的存储和管理大致经历了人工管理文件系统数据库系统三个阶段。 2.数据模型通常由数据结构、数据操作和完整性约束三部分组成。 3.按照应用领域的不同,审计软件可以分为通用审计软件和专用审计软件。 二、单项选择题(16分) 1.下列陈述中,属于面向数据的计算机审计主要内容的有()a (A)对数据文件进行查询和分析(B)对信息系统主管进行离任审计 (C)检查防病毒软件安装情况(D)对安全防护系统进行检查 2.大量的数据用()的形式来表示,是计算机数据处理的一个显著特点。b (A)光盘(B)代码 (C)纸性介质(D)软盘 3.在关系数据模型中,实体以及实体间的联系是通过()来描述的。a (A)关系(B)键值 (C)属性(D)元组 4.下列运算(操作)中,属于传统的集合运算(操作)的有()a (A)差(B)连接 (C)选择(D)投影 5.下列数据库管理系统中,属于关系型数据库管理系统的有()a (A)Informix (B)IMS (C)文本文件(D)Microsoft Excel 6.在关系模型的特点中,所谓“关系必须是规范化的关系”,是指关系模型必须至少满足()a (A)1NF (B)2NF (C)3NF (D)BCNF 7.下列工具中,属于数据库设计中可视化的规范化辅助设计软件的有()c (A)Microsoft Access 2000 (B)Power Builder (C)Oracle Designer 2000 (D)Visual Basic 6

8.数据字典的最小组成单位是()a (A)数据项(B)数据结构 (C)数据流(D)数据存储 9.将局部E-R模型集成为全局E-R模型的时候,可能会存在的冲突有()a (A)属性冲突, (B)实体冲突 (C)联系冲突(D)以上都不对 10.为了保证源系统和目标系统对接口中传输的信息不产生歧义,要求接口语法所产生的语言()a (A)没有二义性(B)采用形式化语言 (C)采用自然语言(D)保持独立 11.审计接口一般包括两方面的内容,一是信息传输的格式和规范,二是完成传输作业的()b (A)参数(B)程序 (C)范围(D)字符集 12.审计接口的“前处理器”通常是指传输层的()部分。a (A)数据采集(B)数据传输 (C)数据接收(D)数据校验 13.IDAPI是由()公司为主制定的。a (A)Borland (B)Microsoft (C)Sybase (D)Lotus 14.下列技术和方法中,通过OLE DB提供的COM接口访问数据,能够适合于各种客户机/服务器应用系统和基于Web的应用的是()c (A)ODBC (B)IDAPI (C)ADO (D)DAO 15.在分隔符形式的文本文件中,不同的字段之间是通过()来划分的。d (A)逗号(B)竖线 (C)文本识别符号(D)字段分隔符号 16.在导入包含日期时间信息的文本文件的过程中,一般要进行()操作。c (A)值域转换(B)代码转换 (C)日期时间格式转换(D)相关检验 17.用以标识缺省的Informix数据库服务器名称的环境变量是()b (A)INFORMIXHOSTS (B)INFORMIXSERVER (C)DBCODESET (D)INFORMIXDIR

数值计算方法试题集和答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。

单片机常用的14个C语言算法,看过的都成了大神!

单片机常用的14个C语言算法,看过的都成了大神! 算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。一、计数、求和、求阶乘等简单算法此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。本题使用数组来处理,用数组a[100]存放产生的确100个随机整数,数组x[10]来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在x[1]中,个位是2的个数存放在x[2]中,……个位是0的个数存放在x[10]。 void main(){int a[101],x[11],i,p;for(i=0;in; (2) m除以n得余数r; (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4); (4) m←n,n←r,再重复执行(2)。例如: 求m="14" ,n=6 的最大公约数. m n r 14 6 2 6 2 0 void main() { int nm,r,n,m,t; printf("please input two numbers:\n"); scanf("%d,%d", nm=n*m; if (m{ t="n"; n="m"; m="t"; } r=m%n; while (r!=0) { m="n"; n="r"; r="m"%n; } printf("最大公约数:%d\n",n); printf("最小公倍数:%d\n",nm/n); } 三、判断素数只能被1或本身整除的数称为素数基本思想:把m作为被除数,将2—INT()作为除数,如果都除不尽,m就是素数,否则就不是。(可用以下程序段实现) void main() { int m,i,k; printf("please input a number:\n"); scanf("%d", k=sqrt(m); for(i=2;iif(m%i==0) break; if(i>=k) printf("该数是素数"); else printf("该数不是素数"); } 将其写成一函数,若为素数返回1,不是则返回0 int prime( m%) {int i,k; k=sqrt(m); for(i=2;iif(m%i==0) return 0; return 1; } 四、验证哥德巴赫猜想(任意一个大于等于6的偶数都可以分解为两个素数之和)基本思想:n为大于等于6的任一偶数,可分解为n1和n2两个数,分别检查n1和n2是否为素数,如都是,则为一组解。如n1不是素数,就不必再检查n2是否素数。先从n1=3开始,检验n1和n2(n2=N-n1)

算法导论第二章答案

第二章算法入门 由于时间问题有些问题没有写的很仔细,而且估计这里会存在不少不恰当之处。另,思考题2-3 关于霍纳规则,有些部分没有完成,故没把解答写上去,我对其 c 问题有疑问,请有解答方法者提供个意见。 给出的代码目前也仅仅为解决问题,没有做优化,请见谅,等有时间了我再好好修改。 插入排序算法伪代码 INSERTION-SORT(A) 1 for j ← 2 to length[A] 2 do key ←A[j] 3 Insert A[j] into the sorted sequence A[1..j-1] 4 i ←j-1 5 while i > 0 and A[i] > key 6 do A[i+1]←A[i] 7 i ←i ? 1 8 A[i+1]←key C#对揑入排序算法的实现: public static void InsertionSort(T[] Input) where T:IComparable { T key; int i; for (int j = 1; j < Input.Length; j++) { key = Input[j]; i = j - 1; for (; i >= 0 && Input[i].CompareTo(key)>0;i-- ) Input[i + 1] = Input[i]; Input[i+1]=key; } } 揑入算法的设计使用的是增量(incremental)方法:在排好子数组A[1..j-1]后,将元素A[ j]揑入,形成排好序的子数组A[1..j] 这里需要注意的是由于大部分编程语言的数组都是从0开始算起,这个不伪代码认为的数组的数是第1个有所丌同,一般要注意有几个关键值要比伪代码的小1. 如果按照大部分计算机编程语言的思路,修改为: INSERTION-SORT(A) 1 for j ← 1 to length[A] 2 do key ←A[j] 3 i ←j-1

计算机数值方法测试题二

计算机数值方法测试题二 Prepared on 22 November 2020

《计算机数值方法》测试题 一.判断题(1分×10=10分)(对打√,错打×) 1.数值方法是指解数值问题的计算机上可执行的系列计算公式。( ) 2.……计算R=≈是截断误差。( ) 3.不同的矩阵三角分解对应着不同的解法,但在本质上,都是经过A=LU 的分 解计算,再解Ly=b 和Ux=y 的线性方程组。( ) 4.一般不用n 次多项式做插值函数。( ) 5.Runge 现象说明并非插值多项式的次数越高其精度就越高。( ) 6.Romberg 算法是利用加速技术建立的。( ) 7.从复合求积的余项表达式看,计算值的精度与步长无关。( ) 8.可用待定系数法和函数值或公式的线性组合构造新的数值函数求解微分方程。 ( ) 9.局部截断误差e k (h )与y (x k )的计算值y k 有关。( ) 10.对大型线性方程组和非线性方程采用逐次逼近更为合适。( ) 二.填空题(2分×5=10分) 1. 设x ∈[a,b],x ≠x 0,则一阶均差f (x )= 。 2. 矩阵A 的F-范数||A||F = 。 3. Euler 公式为 。 4. 矩阵 A 的条件数Cond (A )∞= 。 5. 设x 为准确值,x *为x 的一个近似值,近似值x *的相对误差E r (x *) = 。 三.选择题(2分×5=10分) 1.设x=Pi ;则x *=有( )位有效数字。 (A) 4位 (B)5位 (C)6位 2.顺序主元a ii ≠0(i=1,2……k )的充要条件是A 的顺序主子式D i (i=1,2……n- 1)( )。 (A) 不全为0 (B) 全不为0 (C) 全为0 3.若存在实数P ≥1和c >0,则迭代为P 阶收敛的条件是( )。 (A) ∞ ?→?k lim p k k e e ||||1+=c (B) O(h p ) (C) O(h p+1) 4.方程x 3-x 2-1=0在x 0=附近有根,则迭代格式x k+1=在x 0=附近( )。 (A) 不收敛 (B) 局部收敛 (C)不确定 5.下面哪个公式的局部截断误差为O (h 3)。( ) (A )Euler 公式 (B )三阶Runge —Kutta 公式 (C )梯形公式 四.计算题(7分×6=42分)

五大常用算法

五大常用算法之一:分治算法 分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的排序问题,当n=1时,不需任何计算。n=2时,只要作一次比较即可排好序。n=3时只要作3次比较即可,…。而当n较大时,问题就不那么容易处理了。要想直接解决一个规模较大的问题,有时是相当困难的。 二、基本思想及策略 分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。 如果原问题可分割成k个子问题,1

计算机应用基础统考试题库与答案

一.关于计算机的诞生与发展 1、一般认为,世界上第一台电子数字计算机诞生于__A____。 A.1946 年 B.1952 年 C.1959 年 D.1962 年 2、当前的计算机一般被认为是第四代计算机,它所采用的逻辑元件是___C___。 A. 集成电路 B. 晶体管 C. 大规模集成电路 D.电子管 3、下列关于世界上第一台电子计算机ENIAC的叙述中,错误的 是___D___。 A. 世界上第一台计算机是 1946年在美国诞生的 B. 它主要采用电子管作为主要电子器件 C.它主要用于军事目的和科学计算,例如弹道计算 D. 确定使用高级语言进行程序设计 目前,微型计算机中广泛采用的电子元器件是__D____。 A. 电子管 B. 晶体管 C.小规模集成电路 D. 大规模和超大规模集成电路 4、早期的计算机体积大、耗电多、速度慢,其主要原因是制约于__D____。 A. 元材料 B. 工艺水平 C. 设计水平 D. 元器件 二.计算机的分类 5、计算机可分为数字计算机、模拟计算机和数模混合计算机,这种分类是依据____B__。 A. 功能和用途 B. 处理数据的方式 C.性能和规律 D. 使用范围 6、电子计算机按规模和处理能力划分,可以分为___C__。 A. 数字电子计算机和模拟电子计算机 B. 通用计算机和专用计算机 C. 巨型计算机、中小型计算机和微型计算机 D. 科学与过程计算计算机、工业控制计算机和数据计算机 7、个人计算机简称PC机,这种计算机属于___A__。 A. 微型计算机 B. 小型计算机 C. 超级计算机 D. 巨型计算机 三.计算机的主要特点 8、计算机的主要特点是___C___。 A. 运算速度快、存储容量大、性能价格比低 B. 运算速度快、性能价格比低、程序控制 C.运算速度快、自动控制、可靠性高 D. 性能价格比低、功能全、体积小 9、以下不属于电子数字计算机特点的是_B_____。 A. 通用性强 B. 体积庞大 C. 计算精度高 D. 运算快速 10、现代计算机之所以能够自动、连续地进行数据处理,主要是因为__D____。 A. 采用了开关电路 B. 采用了半导体器件 C.采用了二进制 D. 具有存储程序的功能 11、下列各项中,在计算机主要的特点中尤其最重要的工作特点是__A____。 A. 存储程序与自动控制----对!可以说它是计算机的工作原理 B. 高速度与高精度 C.可靠性与可用性 D. 有记忆能力 12、 " 使用计算机进行数值运算,可根据需要达到几百万分之一的精确度。" ,该描述说明计算机具有 _C_____。 A. 自动控制能力 B. 高速运算的能力 C. 很高的计算精度 D. 记忆能力 13、 " 计算机能够进行逻辑判断并根据判断的结果来选择相应的处理。" ,该描述说明计算机具有 ____B__。 A. 自动控制能力 B. 逻辑判断能力 C. 记忆能力 D. 高速运算的能力 14、计算机的通用性使其可以求解不同的算术和逻辑问题,这主要取决于计算机的_A___。 A. 可编程性 B. 指令系统 C. 高速运算 D.存储功能 四.计算机的主要用途 15、当前计算机的应用领域极为广泛,但其应用最早的领域是_B_____。 A. 数据处理 B. 科学计算 C. 人工智能 D. 过程控制 16、计算机当前的应用领域非常广泛,但根据统计其应用最广泛的领域是____A__。 A. 数据处理 B. 科学计算 C. 辅助设计 D. 过程控制 17、当前气象预报已广泛采用数值预报方法,这主要涉及计算机应用中的____D__。 A. 数据处理和辅助设计 B. 科学计算与辅助设计 C. 科学计算和过程控制 D. 科学计算和数据处理 18、办公室自动化是计算机的一大应用领域,按计算机应用的分类,它属于_____D___。 A. 科学计算 B. 辅助设计 C. 实时控制 D. 数据处理 19、在工业生产过程中,计算机能够对“控制对象”进行自动控制和自动调节的控制方式,如生产过程化、过程仿 真、过程控制等。这属于计算机应用中的___B___。 A. 数据处理 B. 自动控制 C. 科学计算 D. 人工智能 20、计算机辅助设计的英文缩写是___A___。

计算机编程常用算法

常用算法 要使计算机能完成人们预定的工作,首先必须为如何完成预定的工作设计一个算法,然后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述,其中程序的数据结构和变量用来描述问题的对象,程序结构、函数和语句用来描述问题的算法。算法数据结构是程序的两个重要方面。 算法是问题求解过程的精确描述,一个算法由有限条可完全机械地执行的、有确定结果的指令组成。指令正确地描述了要完成的任务和它们被执行的顺序。计算机按算法指令所描述的顺序执行算法的指令能在有限的步骤内终止,或终止于给出问题的解,或终止于指出问题对此输入数据无解。 通常求解一个问题可能会有多种算法可供选择,选择的主要标准是算法的正确性和可靠性,简单性和易理解性。其次是算法所需要的存储空间少和执行更快等。 算法设计是一件非常困难的工作,经常采用的算法设计技术主要有迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法等等。另外,为了更简洁的形式设计和藐视算法,在算法设计时又常常采用递归技术,用递归描述算法。 一、迭代法 迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行: (1)选一个方程的近似根,赋给变量x0; (2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0; (3)当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。 若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。上述算法用C程序的形式表示为: 【算法】迭代法求方程的根 { x0=初始近似根; do { x1=x0; x0=g(x1);/*按特定的方程计算新的近似根*/

相关文档
最新文档