【计算机类职业资格】程序员-数据结构与算法(五)及答案解析.doc
《【计算机类职业资格】程序员-数据结构与算法(五)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】程序员-数据结构与算法(五)及答案解析.doc(8页珍藏版)》请在麦多课文档分享上搜索。
1、程序员-数据结构与算法(五)及答案解析(总分:100.00,做题时间:90 分钟)一、试题一(总题数:1,分数:20.00)阅读以下说明和流程图,填补流程图中的空缺。说明平面上一个封闭区域内稳定的温度函数是一个调和函数,如果区域边界上各点的温度是已知的(非常数),那么就可以用数值方法近似地计算出区域内各点的温度(非负数)。假设封闭区域是矩形,可将整个矩形用许多横竖线切分成比较细小的网格,并以最简单的方式建立坐标系统,从而可以将问题描述为:已知调和函数 u(i,j)在矩形 0im;0jn)四边上的值,求函数 u 在矩形内部各个网格点 i=1,m-1;j=1,n-1 上的近似值。根据调和函数的特点
2、可以推导出近似算式:该矩形内任一网格点上的函数值等于其上下左右四个相邻网格点上函数值的算术平均值。这样,我们就可以用迭代法来进行数值计算了。首先将该矩形内各网格点上的函数值设置为一个常数,例如 u(0,0);然后通过该迭代式计算矩形内个网格点上的新值。这样反复进行迭代计算,若某次迭代后所有的新值与原值之差别都小于预定的要求(例如 0.01),则结束求解过程。流程图(分数:20.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_二、试题二(总题数:1,分数:20.00)阅读以下说明和 C 程序,填充程序中的空缺。说明埃拉托斯特尼筛法求不超过自然数 N 的所有素数的做法是
3、:先把 N 个自然数按次序排列起来,1 不是素数,也不是合数,要划去;2 是素数,取出 2(输出),然后将 2 的倍数都划去;剩下的数中最小者为 3,3 是素数,取出 3(输出),再把 3 的倍数都划去;剩下的数中最小者为 5,5 是素数(输出),再把 5 的倍数都划去。这样一直做下去,就会把不超过 N 的全部合数都筛掉,每次从序列中取出的最小数构成的序列就是不超过 N 的全部质数。下面的程序实现埃拉托斯特尼筛法求素数,其中,数组元素 sievei(u0)的下标 i 对应自然数i,sievei的值为 1/0 分别表示 i 在/不在序列中,也就是将 i 划去(去掉)时,就将 sievei设置为
4、0。C 程序#include stdio.h#define N 10000int main()char sieveN+1=(0);int i=0,k;/*初始时 2N 都放入 sieve 数组*/for(i=2;_;i+)sievei=1;for(k=2;)/*找出剩下的数中最小者并用 K 表示*/for(;kN+1sievek=0;_);if(_)break;print(“%d/t“,k); /*输出素数*/*从 Sieve 中去掉 k 及其倍数*/for(i=k;iN+1;i=_)_;return 0;/*end of main*/(分数:20.00)填空项 1:_填空项 1:_填空项 1
5、:_填空项 1:_填空项 1:_三、试题三(总题数:1,分数:20.00)阅读以下说明和 C 程序,填充函数中的空缺。说明N 个游戏者围成一圈,从 1N 顺序编号,游戏方式如下;从第一个人开始报数(从 1 到 3 报数),凡报到3 的人退出圈子,直到剩余一个游戏者为止,该游戏者即为获胜者。下面的函数 playing(Linklist head)模拟上述游戏过程并返回获胜者的编号。其中,N 个人围成的圈用一个包含 N 个结点的单循环链表来表示,如图 1 所示,游戏者的编号放在结点的数据域中。在函数中,以删除结点来模拟游戏者退出圈子的处理。整型变量 c(初值为 1)用于计数,指针变量 p 的初始值
6、为。head(如图 1 所示)。游戏时,从 p 所指向的结点开始计数,p 沿链表中的指针方向遍历结点,c的值随 p 的移动相应地递增。当 c 计数到 2 时,就删除 p 所指结点的下一个结点(因下一个结点就表示报数到 3 的游戏者),如图 2 所示,然后将 c 设置为 0 后继续游戏过程。(分数:20.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_四、试题四(总题数:1,分数:20.00)阅读以下说明和流程图,回答下面问题。说明图 1 所示的流程图中有两个判断条件 A0 和 B0。这些判断条件的各种组合情况如图 2 所示。表中 Y 表示相应的条件成立,N 表示相应
7、的条件不成立。每一列表示一种条件组合,并在列首用相应的序号来表示。(分数:20.00)(1).当遇到哪几种条件组合时,流程图能执行“1i”?(写出相应的序号即可)(分数:5.00)_(2).当遇到哪几种条件组合时,流程图能执行“2j”?(写出相应的序号即可)(分数:5.00)_(3).当遇到哪几种条件组合时,流程图能执行“3k”?(写出相应的序号即可)(分数:5.00)_(4).该流程图共有多少条实际执行路径?流程图*(分数:5.00)_五、试题五(总题数:1,分数:20.00)阅读以下说明和流程图,将应填入_处的字句写在对应栏内。说明下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。设
8、这篇文章由字符 A(0),A(n-1)依次组成,指定关键词由字符 B(0),B(m-1)依次组成,其中nm1。注意,关键词的各次出现不允许有交叉重叠。例如,在“aaaa”中只出现两次“aa”。该流程图采用的算法是:在字符串 A 中,从左到右寻找与字符串 B 相匹配的并且没有交叉重叠的所有子串。流程图中,i 为字符串 A 中当前正在进行比较的动态子串首字符的下标,j 为字符串 B 的下标,k 为指定关键词出现的次数。流程图(分数:20.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_程序员-数据结构与算法(五)答案解析(总分:100.00,做题时间:90 分钟)一、试
9、题一(总题数:1,分数:20.00)阅读以下说明和流程图,填补流程图中的空缺。说明平面上一个封闭区域内稳定的温度函数是一个调和函数,如果区域边界上各点的温度是已知的(非常数),那么就可以用数值方法近似地计算出区域内各点的温度(非负数)。假设封闭区域是矩形,可将整个矩形用许多横竖线切分成比较细小的网格,并以最简单的方式建立坐标系统,从而可以将问题描述为:已知调和函数 u(i,j)在矩形 0im;0jn)四边上的值,求函数 u 在矩形内部各个网格点 i=1,m-1;j=1,n-1 上的近似值。根据调和函数的特点可以推导出近似算式:该矩形内任一网格点上的函数值等于其上下左右四个相邻网格点上函数值的算
10、术平均值。这样,我们就可以用迭代法来进行数值计算了。首先将该矩形内各网格点上的函数值设置为一个常数,例如 u(0,0);然后通过该迭代式计算矩形内个网格点上的新值。这样反复进行迭代计算,若某次迭代后所有的新值与原值之差别都小于预定的要求(例如 0.01),则结束求解过程。流程图(分数:20.00)填空项 1:_ (正确答案:0 或任意一个负数)解析:填空项 1:_ (正确答案:(u(i,j+1)+u(i,j-1)+u(i-1,j)+u(i+1,j)/4)解析:填空项 1:_ (正确答案:max)解析:填空项 1:_ (正确答案:new 或(u(i,j+1)+u(i,j-1)+u(i-1,j)+
11、u(i+1,j)/4 或等价表示)解析:填空项 1:_ (正确答案:max)解析:本题是要完成一个算法的流程。(1)是给 max 赋初始值,由于本题所涉及到的数据都是非零数,故可以给 max 赋值为 0 或者为任意一个负数。(2)循环开始后,本题要算的是该矩形内任一网格点上的函数值 new,该值等于其上下左右 4 个相邻网格点上函数值的算术平均,所以 new 为(u(i,j+1)+u(i,j-1)+u(i-1,j)+u(i+1,j)/4。(3)循环继续进行,如果u(i,j)-newmax,则将u(i,j)-new的值赋值给 max,所以填 max,(4)若u(i,j)-newmax 不成立,则
12、将 new 或者(u(i,j+1)+u(i,j-1)+u(i-1,j)+u(i+1,j)/4 赋值给 u(i,j)。(5)循环结束,判断 max 是否小于 0.01,故填 max。如果成立,则迭代算法结束,若不成立,则继续迭代算法。二、试题二(总题数:1,分数:20.00)阅读以下说明和 C 程序,填充程序中的空缺。说明埃拉托斯特尼筛法求不超过自然数 N 的所有素数的做法是:先把 N 个自然数按次序排列起来,1 不是素数,也不是合数,要划去;2 是素数,取出 2(输出),然后将 2 的倍数都划去;剩下的数中最小者为 3,3 是素数,取出 3(输出),再把 3 的倍数都划去;剩下的数中最小者为
13、5,5 是素数(输出),再把 5 的倍数都划去。这样一直做下去,就会把不超过 N 的全部合数都筛掉,每次从序列中取出的最小数构成的序列就是不超过 N 的全部质数。下面的程序实现埃拉托斯特尼筛法求素数,其中,数组元素 sievei(u0)的下标 i 对应自然数i,sievei的值为 1/0 分别表示 i 在/不在序列中,也就是将 i 划去(去掉)时,就将 sievei设置为 0。C 程序#include stdio.h#define N 10000int main()char sieveN+1=(0);int i=0,k;/*初始时 2N 都放入 sieve 数组*/for(i=2;_;i+)s
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 程序员 数据结构 算法 答案 解析 DOC
