2014上半年程序员考试真题及答案-下午卷.docVIP

  • 2
  • 0
  • 约1.01万字
  • 约 19页
  • 2021-08-24 发布于北京
  • 举报

2014上半年程序员考试真题及答案-下午卷.doc

2014上半年程序员考试真题及答案-下午卷? 试题一(共15分) 阅读以下说明和流程图, 填补流程图中的空缺(1)-(5),将解答填入答题纸的对应栏内。 指定网页中, 某个关键词出现的次数除以该网页长度称为该关键词在此网页中的词频。 对新闻类网页, 存在一组公共的关键词。因此, 每个新闻网页都存在一组词频, 称为该新闻网页的特征向量。 设两个新闻网页的特征向量分别为: 甲(a1,a2,…,ak)、乙(b1,b2,... ,bk),则计算这两个网页的相似度时需要先计算它们的内积S=a1b1+a2b2+…+akbk。一般情况下,新同网页特征向量的维数是巨大的, 但每个特征向量中非零元素却并不多。 为了节省存储空间和计算时间,我们依次用特征向量中非零元素的序号及相应的词频值来简化特征向量。为此,我们用(NA(i),A(i)|i=1,2,...,m)和(NB(j),B(j)|j=1,2,...,n)来简化两个网页的特征向量。 其中:NA(i)从前到后描述了特征向量甲中非零元素A(i)的序号(NA(1)NA(2) ...), NB(j)从前到后描述了特征向量乙中非零元素B(j)的序号(NB(1) NB(2) …)。 下面的流程图描述了计算这两个特征向量内积S的过程。 【参考答案】 (1) 0 (2) S+A(i)B(j) 或 等价表示 (3) im 或 i=m+1 或 等价表示 (4) jn 或 j=n+1 或 等价表示 (5) im or jn 或 i=m+1 or j=n+1 或 等价表示 【试题解析】 本题是简化了的个大数据算法应用之例。世界上每天都有大量的新闻网页,门户 网站需要将其自动进行分类,并传送给搜索的用户。为了分类,需要建立网页相似度的衡量方法。流行的算法是,先按统一的关键词组计算各个关键词的词频,形成网页的特征向量,这样,两个网页特征向量的夹角余弦(内积/两个向量模的乘积),就可以衡量两个网页的相似度。因此,计算两个网页特征向量的内积就是分类计算中的关键。 对于存在大量零元素的稀疏向量来说,用题中所说的简化表示方法是很有效的。这样,求两个向量的内积只需要在分别从左到右扫描两个简化向量时,计算对应序号相同(NA(i)=NB(j))时的A(i)*B(j)之和(其他情况两个向量对应元素之乘积都是0)。因此,流程图中(2)处应填S+A(i)*b(j),而累计的初始值S应该为0,即(1)处应填0。 流程图中,NA(i)NB(j)时,下一步应再比较NA(i+1)NB(j),除非i+1已经越界。 因此,应先执行i+1→i,再判断是否im 或 i=m+1(如果成立,则扫描结束)。因此(3) 处应填im 或 i=m+1。 流程图中,NA(i)NB(j)时,下一步应再比较NA(i)NB(j+1),除非j+1已经越界。 因此,应先执行j+1→j,再判断是否jn 或 j=n+1(如果成立,则扫描结束)。因此(4)处应填jn 或 j=n+1。 (5)处应填扫描结束的条件,im or jn 或 i=m+1 or j=n+1,即两个简化向量之一扫描结束时,整个扫描就结束了。 试题二(共15分) 阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。 【说明1】 函数 isPrime(int n) 的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 【C函数】 【说明2】 函数int minOne(int arr[],int k) 的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。 【C函数】 【参考答案】 (1) n%2==0, 或!(n%2), 或其等价形式 (2) n%k==0, 或!(n%k), 或其等价形式 (3) arr[0], 或*arr, 或其等价形式 (4) k-1,或其等价形式 (5) t 【试题解析】 本题考查C程序的基本语法和运算逻辑。 首先应认真分析题目中的说明,然后确定代码结构和各变量的作用。 函数isPrime(int n)的功能是判断n是否为素数。根据素数的定义,小于2的数和大于2的偶数都不是素数,n是偶数可表示为“n%2等于0”,因此空(1)处应填入“n% 2==0”,或者“!(n%2)”。 在n是大于2的奇数的情况下,下面的代码从3开始查找n的因子,直到n的平方根为止。 若k的值是n的因子,则说明n不是素数。因此,空(2)处应填入“n%k==0”,或者“!(n%k)”。 函数int minOne(int tarr[], int k)的功能是用递归方法求指定数组中前k个元素中的最小者,显然,k为1时,这一个

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档