数据结构第1阶段测试题.doc

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

江南大学现代远程教育 第一阶段测试卷 考试科目:《数据结构》第一章至第四章(总分100分) 时间:90分钟 ______________学习中心(教学点) 批次: 层次: 专业: 学号: 身份证号: 姓名: 得分: 一、选择题(每题3分,共30分) 1、(  )是数据的不可分割的最小单位。 A、数据元素 B、数据对象 C、数据项 D、数据结构 2、若采用顺序映象,则数据元素在内存中占用的存储空间(  )。 A、一定连续 B、一定不连续 C、可连续可不连续 3、下列说法中错误的是(  )。 A、栈是一种非线性结构 B、一个数据元素由一或多个数据项构成 C、在顺序存储结构中,结点间的逻辑关系由存储单元的邻接关系来体现 D、语句的频度就是语句的执行次数 4、以下属单链表优点的是(  )。 A、顺序存取 B、插入操作能在O(1)的时间复杂度上完成 C、插入时不需移动数据元素 D、节省存储空间 5、顺序表中数据元素的存取方式为(  )。 A、随机存取 B、顺序存取 C、索引存取 D、连续存取 6、设输入序列为ABC,输出序列为CBA,则经过的栈操作为(  )。 A、push,pop,push,pop,push,pop B、push,push,push,pop,pop,pop C、push,push,pop,pop,push,pop D、push,pop,push,push,pop,pop 7、若用一个大小为6的数组来实现循环队列,且当前队尾指针rear和队头指针front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为(  )。 A、1和5 B、2和4 C、4和2 D、5和1 8、串是一种特殊的线性表,其特殊性体现在(  )。 A、可以顺序存储 B、数据元素是一个字符 C、可以链接存储 D、数据元素可以是多个字符 9、设串s=abcdefgh,则其子串数为(  )。 A、8 B、37 C、36 D、9 10、设串s1=abcdefg,s2=ab,则Concat(s1,s2)的返回值(  )。 A、ab B、cdefg C、abcdefg D、abcdefgab 二、(10分)设n为正整数,则在下面的程序段中,语句“a+=2;”的频度为多少? for(x=0;xn;++x) for(y=0;yn;++y) a+=2; 三、(15分)设单链表L带头结点且非空,指针变量p指向L中的一个结点,且该结点既不是L中的第一个结点,也不是L中的最后一个结点,指针变量s指向一个待插入L的新结点。试写出能完成下列操作的语句序列。 ⑴在p所指结点之前插入s所指结点; ⑵在L中最后一个结点之后插入s所指结点; ⑶删除p所指结点的直接后继; ⑷删除L中第一个结点。 四、(10分)有5个元素,其入栈次序为:A,B,C,D,E,在各种可能的出栈次序中,以元素C,D最先出栈(即C第一个且D第二个出栈)的次序有哪几个? 五、(15分)设a=colomn,b=How are you!,c=please,试求: ⑴ StrLength(b)的返回值; ⑵ Index(a,o,5)的返回值; ⑶ 执行StrInsert(a,3,c)后串a的值; ⑷ 执行Replace(c,e,x)后串c的值; ⑸ 执行SubString(s,b,5,3)后串s的值。 六、(20分)假设将循环队列定义为:以域变量rear和length分别指示循环队列中队尾元素的位置和内含元素的个数,试写出其入队和出队算法(在出队算法中要返回队头元素)。 答案: 一、选择题(每题3分,共30分) C、A、A、C、A、B、B、B、B、D 二、设n为正整数,则在下面的程序段中,语句“a+=2;”的频度为多少? for(x=0;xn;++x) for(y=0;yn;++y) a+=2; 答:n2 三、设单链表L带头结点且非空,指针变量p指向L中的一个结点,且该结点既不是L中的第一个结点,也不是L中的最后一个结点,指针变量s指向一个待插入L的新结点。试写出能完成下列操作的语句序列。 ⑴在p所指结点之前插入s所指结点; ⑵在L中最后一个结点之后插入s所指结点; ⑶删除p所指结点的直接后继; ⑷删除L中第一个结点。 答: ⑴q=L; while(q-next!=p)q=q-next; //q指向p的直接前驱 s-next=p; q-next=s; ⑵q=L; while(q-next)q=q-n

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档