计算机水平考试-程序员分类模拟题数据结构与算法(五)
(8页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
9.9 积分
程序员分类模拟题数据结构与算法(五)试题一阅读以下说明和流程图,填补流程图屮的空缺。[说明]平面上一个封闭区域内稳定的温度函数是一个调和函数,如果区域边界上各点的温度是已知的 (非常数),那么就可以用数值方法近似地计算出区域内各点的温度(非负数)。假设封闭区域是矩形,可将整个矩形用许多横竖线切分成比较细小的网格,并以最简单的方式 建立坐标系统,从而可以将问题描述为:已知调和函数u(i, j)在矩形{0WiWm;0WjWn)四边上的 值,求函数u在矩形内部各个网格点{i = lz...zm-l;j=lz...zn-l}上的近似值。根据调和函数的特点可以推导出近似算式:该矩形内任一网格点上的函数值等于其上下左右四 个相邻网格点上函数值的算术平均值。这样,我们就可以用迭代法来进行数值计算了。首先将该矩形 内各网格点上的函数值设置为一个常数,例如u(0,0);然后通过该迭代式计算矩形内个网格点上的 新值。这样反复进行迭代计算,若某次迭代后所有的新值与原值之差别都小于预定的要求(例如 0.01),则结束求解过程。试题二阅读以下说明和C程序,填充程序中的空缺。[说明]埃拉托斯特尼筛法求不超过自然数N的所有素数的做法是:先把N个自然数按次序排列起来,1 不是素数,也不是合数,要划去;2是素数,取出2(输出),然后将2的倍数都划去;剩下的数屮最小 者为3, 3是索数,取出3(输出),再把3的倍数都划去;剩下的数屮最小者为5, 5是索数(输岀),再 把5的倍数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,每次从序列中取出的最小 数构成的序列就是不超过N的全部质数。下面的程序实现埃拉托斯特尼筛法求素数,其中,数组元素sieve [i] (u>0)的下标i对应自然 数i, sieve [i]的值为1/0分别表示i在/不在序列中,也就是将i划去(去掉)时,就将sieve [i] 设置为0。[C程序]#include h>#define N 10000int main6{char sieve[N+l]=7;int i = 0 z k;"初始时2?N都放入sieve数组*/for (i=2 ; ; i + + )sieve[i]=1;for(k=2;;){八找出剩节的数中最小者并用K表示"for (;k ) {if (c = = 2) { 当c等于2时,P所指向结点的后继即为将被删除的结点*/q=p- >next ;p- >next = ;printf ("%d\t", q->code) ; /*输出退出圈子的游戏者编号*/free(q);c= ;n--;}/*if*/P= ;C + + ;}/*while*/theWinner= ;free(p);return theWinner; /*返回最后一个游戏者(即获胜者)的编号*/}试题四阅读以下说明和流程图,冋答下面问题。[说明]图1所示的流程图中右两个判断条件A>0和B>0。这些判断条件的各种组合情况如图2所示。表 中Y表示相应的条件成立,N表示相应的条件不成立。每一列表示一种条件组合,并在列首用相应的 序号来表示。 【234A>0YYNNB>0YNYN图2各种组合情况16、 当遇到哪儿种条件组合时,流程图能执行写出相应的序号即可)17. 当遇到哪几种条件组合时,流程图能执行、'2->j〃?(写出相应的序号即可)18. 当遇到哪几种条件组合时,流程图能执行、'3->k〃?(写出相应的序号即可)19、 该流程图共有多少条实际执行路径?试题五阅读以下说明和流程图,将应填入 处的字句写在对应栏内。[说明]下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。设这篇文章由字符A20z...zA(n-l)依次组成,指定关键词由字符B20z...zB(m-l)依次组成,其 中n>m^lo注意,关键词的各次出现不允许有交叉重叠。例如,在''aaaa/z中只出现两次''aaz/<> 该流程图采用的算法是:在字符串A屮,从左到右寻找与字符串B相匹配的并且没冇交叉重叠的 所有子串。流程图中,i为字符串A中当前正在进行比较的动态子串首字符的下标,j为字符串B的下 标,k为指定关键词出现的次数。[流程图]答案:2、(u(izj+l)+u(i,j-l)+u(i-lzj)+u(i + l,j) )/43、max试题一丄、0或任意一个负数4、 new 或(u(izj+l)+u(izj-l)+u(i-lzj) +u (i + 1, j ) ) /4 或等价表示5、 max木题是要完成-个算法的流程。(1)是给max赋初始值,由于木题所涉及到的数据都是非零数,故可 以给max赋值为0或者为任意一个负数。(2)循环开始后,本题要算的是该矩形内任一网格点上的函 数值new,该值等于其上下左右4个相邻网格点上函数值的算术平均,所以new为 (u(izj+l)+u(izj 关 键 词: 计算机水平 考试 程序员 分类 模拟 数据结构 算法
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文