计算机水平考试-程序员分类模拟题数据结构与算法(四).pdf

计算机水平考试-程序员分类模拟题数据结构与算法(四).pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

程序员分类模拟题数据结构与算法(四)

试题一

阅读以下说明和流程图,填补流程图中的空缺。

[说明]

已知数组A[1:n]中各个元素的值都是非零整数,其中有些元素的值是相同的(重复)。为删除其

中重复的值,可先通过以下流程图找出所有的重复值,并对所有重复值赋0标记之。该流程图采用了

双重循环。

处理思路:如果数组A某个元素的值在前面曾出现过,则该元素赋标记值0。例如,假设数组A

的各元素之值依次为2,5,5,1,2,5,3,则经过该流程图处理后,各元素之值依次为2,5,0,

1,0,0,3。

[流程图]

试题二

阅读以下说明和C函数,填补C函数中的空缺。

[说明]

函数SetDiff(LA,LB.的功能是将LA与LB中的共有元素从LA中删除,使得LA中仅保留与LB

不同的元素,而LB不变,LA和LB为含头结点的单链表的头指针。

例如,单链表LA、LB的示例如图中的(a)、(b)所示,删除与LB共有的元素后的LA如图中的(c)

所示。

链表的结点类型定义如下:

typedefstructNode{

intdata;

structNode*next;

}Node,*LinkList;

函数SetDiff(LinkListLA,LinkListLB.的处理思路如下:

6从LA的第一个元素结点开始,令LA的第一个元素为当前元素;

7在LB中进行顺序查找,查找与LA的当前元素相同者,方法是:令LA的当前元素先与LB的第一

个元素进行比较,若相等,则结束在LB中的查找过程,否则继续与LB的下一个元素比较,重复以上

过程,直到LB中的某一个元素与LA的当前元素相等(表明查找成功),或者到达LB的表尾(表明查找

失败)为止;

8结束在LB表的一次查找后,若在LB中发现了与LA的当前元素相同者,则删除LA的当前元素,

否则,保留LA的当前元素;

9取LA的下一个元素为当前元素,重复7、8,直到LA的表尾。

[C函数]

voidSetDiff(LinkListLA,LinkListLB.

{

LinkListpre,pa,pb;

/*pa用于指向单链表LA的当前元素结点,pre指向pa所指元素的前驱*/

/*pb用于指向单链表LB的元素结点*/

______;/*开始时令pa指向LA的第一个元素*/

pre=LA;

while(pa){

pb=LB->next;

/*在LB中查找与LA的当前元素相同者,直到找到或者到达表尾*/

while(______){

if(pa->data==pb->data)

break;

______;

}

if(!pb){

/*若在LB中没有找到与LA中当前元素相同者,则继续考察LA的后续元素*/

pre=pa;

pa=pa->next;

}

else{

/*若在LB中找到与LA的当前元素相同者,则删除LA的当前元素*/

pre->next=______;

free(pa);

pa=______;

}

}

}

试题三

阅读以下说明和流程图,填补流程图中的空缺。

[说明]

本流程图用于计算菲波那契数列{a1=1,a2=1,an=an-1+an-2,|n=3,4,...}的前n项(n≥2)

之和S。例如,菲波那契数列前6项之和为20。计算过程中,当前项之前的两项分别动态地保存在变

量A和B中。

[流程图]

试题四

阅读以下说明和C函数,填充函数中的空缺。

[说明]

函数Insert_key(*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树

中(二叉查找树为空时*root为空指针)。若给定的二叉查找树中已经包含键值为key的结点,则不进

行插入操作并返回0;

文档评论(0)

199****2782 + 关注
实名认证
内容提供者

博士毕业生

1亿VIP精品文档

相关文档