ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:121.20KB ,
资源ID:18816338      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18816338.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构试题与答案及解析文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构试题与答案及解析文档格式.docx

1、 D. O 9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的B 和运算等的学科。关系和操作A. 结构 B. 关系 C. 运算 D. 算法10、下面程序段的时间复杂度是A。i=s=0;s i+;s+=i; B. O11、抽象数据类型的三个组成部分分别为A。A. 数据对象、数据关系和基本操作B.数据元素、逻辑结构和存储结构 C. 数据项、数据元素和数据类型 D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是D。A. 正确性算法应能正确地实现预定的功能B.易读性算法应易于阅读和理解,以便调试、修改和扩充

2、C.健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果D. 高效性即达到所需要的时间性能空间13、下列程序段的时间复杂度为B。x=n;y=0; while=* y=y+1;A.O二、填空题1、程序段i=1;while i=i*2;的时间复杂度为log2n。2、数据结构的四种基本类型中,树形结构的元素是一对多关系。三、综合题1、将数量级O,ON2N3NLOG2NLOG2N2N按增长率由小到大排序。答案: ONlog2N一、填空题1. 数据结构被形式地定义为D, R,其中D是数据元素的有限集合,R是D上的关系有限集合。2. 数据结构包括数据的逻辑结构、数据的存储结构和

3、数据的运算这三个方面的内容。3. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。4. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。5 在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。6. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。7. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。8数据的存储结构可用四种基本的存储方法表示,它们分别是

4、顺序、链式、索引、散列。9. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。10. 一个算法的效率可分为时间效率和空间效率。11.任何一个C程序都由一个主函数和若干个被调用的其它函数组成。二、单项选择题 B 1. 非线性结构是数据元素之间存在一种:A一对多关系 B多对多关系 C多对一关系 D一对一关系 C2. 数据结构中,与所使用的计算机无关的是数据的结构;A 存储 B 物理 C 逻辑 D 物理和存储 C 3. 算法分析的目的是: 找出数据结构的合理性 B 研究算法中的输入和输出的关系C 分析算法的效率以求改进 D 分析算法的易懂性和文档性 A 4. 算法分析的两个主要方面

5、5是: 空间复杂性和时间复杂性 B 正确性和简明性 可读性和文档性 D 数据复杂性和程序复杂性 C5. 计算机算法指的是: 计算方法 B 排序方法 C 解决问题的有限运算序列 D 调度方法 B 6. 计算机算法必须具备输入、输出和等5个特性。 可行性、可移植性和可扩充性 B 可行性、确定性和有穷性 确定性、有穷性和稳定性 D 易读性、稳定性和安全性三、简答题1.数据结构和数据类型两个概念之间有区别吗?答:简单地说,数据结构定义了一组按某些关系结合在一起的数组元素。数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。2. 简述线性结构与非线性结构的不同点。线性结构反映结点间的逻辑

6、关系是一对一的,非线性结构反映结点间的逻辑关系是多对多的。四、分析下面各程序段的时间复杂度五、设有数据逻辑结构S=D,R,试按各小题所给条件画出这些逻辑结构的图示,并确定其是哪种逻辑结构。1. D=d1,d2,d3,d4 R=,d3,d4 线性表2D=d1,d2,d9 R=d3,d6d6,d8d4,d5, d8,d9 树3D=d1,d2,d9 d1,d8d2,d4d2,d5d3,d9d5,d6d9,d7d4,d7d4,d6有向图第二章 线性表1、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度。 B.O D.Onext=head B. p-next=NULLC.

7、 p=NULL D. p=head6、链表不具有的特点是 。A. 可随机访问任一元素 B. 插入删除不需要移动元素 C. 不必事先估计存储空间 D. 所需空间与线性表长度成正比7、在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是 。 A. p-next=q;q-prior=p;p-next-prior=q; B. p-next=p-next;C. q-D. q-8、线性表采用链式存储时,结点的存储地址。A. 必须是连续的B. 必须是不连续的C. 连续与否均可 D. 和头结点的存储地址相连续9、在一个长度为n的顺序表中删除第i个元素,需要向前移动 个元素。A.

8、 n-i B. n-i+1 C. n-i-1 D. i+110、线性表是n个的有限序列。A. 表元素B. 字符 C. 数据元素D. 数据项 11、从表中任一结点出发,都能扫描整个表的是。A. 单链表 B. 顺序表C. 循环链表 D. 静态链表12、在具有n个结点的单链表上查找值为x的元素时,其时间复杂度为 。C. OD. O13、线性表L=,下列说法正确的是。A. 每个元素都有一个直接前驱和一个直接后继B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后继14、一个顺序表的第一个元素的存储地址是

9、90,每个元素的长度为2,则第6个元素的存储地址是。A. 98B. 100 C. 102 D. 10615、在线性表的下列存储结构中,读取元素花费的时间最少的是。 A. 单链表 B. 双链表 C. 循环链表D. 顺序表16、在一个单链表中,若删除p所指向结点的后续结点,则执行 。B. p=p-C. p =p-D. p=p-17、将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为。m18、线性表的顺序存储结构是一种存储结构。A. 随机存取B. 顺序存取 C. 索引存取 D. 散列存取 19、顺序表中,插入一个元素所需移动的元素平均数是。 A. /2 B. n C. n+1D. /2

10、10、循环链表的主要优点是。A. 不再需要头指针B. 已知某结点位置后能容易找到其直接前驱C. 在进行插入、删除运算时能保证链表不断开D. 在表中任一结点出发都能扫描整个链表 11、不带头结点的单链表head为空的判定条件是。A. head=NULLB. head-C. head-next=headD. head!=NULL12、在下列对顺序表进行的操作中,算法时间复杂度为O的是。A. 访问第i个元素的前驱1B. 在第i个元素之后插入一个新元素C.删除第i个元素next=s-next;s-next=p;B. s-C. p-next=q;D. s-14、在以下的叙述中,正确的是 。A.线性表的顺

11、序存储结构优于链表存储结构B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况C.线性表的链表存储结构适用于频繁插入/删除数据元素的情况D.线性表的链表存储结构优于顺序存储结构15、在表长为n的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为。A. /2 B. n/2 C. p-next=s; B. p-next=p; D. p-17、在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是 。A. p=p- D.p=p-18、在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p-next=head,则 。A. p指向头结点

12、B. p指向尾结点 C.p的直接后继是头结点D.p的直接后继是尾结点1、设单链表的结点结构为data,next。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:q-next=p-next,p-next=q 。next p-next=q2、线性表的逻辑结构是线性结构,其所含元素的个数称为线性表的 长度 。线性结构 长度3、写出带头结点的双向循环链表L为空表的条件L-prior=L-next=L。L-prior=L-next=L4、带头结点的单链表head为空的条件是 head-next=null 。head-5、在一个单链表中删除p所指结点的后继结点时,应执

13、行以下操作:q= p-next=_q-next _;next三、判断题1、单链表不是一种随机存储结构。2、在具有头结点的单链表中,头指针指向链表的第一个数据结点的存储位置。3、用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。4、顺序存储方式只能用于存储线性结构。5、在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理位置上不一定是相邻的。6、链式存储的线性表可以随机存取。四、程序分析填空题1、函数GetElem实现返回单链表的第i个元素,请在空格处将算法补充完整。int GetElem LinkList p;int j;p=L-j=1;p&i p=p-next ;+j;

14、if return ERROR;*e= p-data return OK;next data2、函数实现单链表的插入算法,请在空格处将算法补充完整。int ListInsert LNode *p,*s;int j; p=L;p!=NULLi-1 j+; if s=mallocsizeof; s-data=e; s-next=p-next ; p-next=s ; return OK;/*ListInsert*/next=s3、函数ListDelete_sq实现顺序表删除算法,请在空格处将算法补充完整。int ListDelete_sq int k; iflengthfork=i-1;kslis

15、tk=L-slistk+1 1 ; 2 -L-Length; return OK;1L-slistk+1 2 -L-Length 4、函数实现单链表的删除算法,请在空格处将算法补充完整。int ListDelete LNode *p,*q; int j; p=L; p-next!=null 1 p=p-next=NULL|j q=p- p-next=q-next 2 ; *s=q-data; free/*listDelete*/next!=NULL 5、写出算法的功能。int L node * head; int n=0; node *p; p=head; p=p- n+; return求单链

16、表head的长度五、综合题1、编写算法,实现带头结点单链表的逆置算法。void invent Lnode *p,*q;next p=head-next =NULL; p=q; q=q-next=head- head-2、有两个循环链表,链头指针分别为L1和L2,要求写出算法将L2链表链到L1链表之后,且连接后仍保持循环链表形式。void merge Lnode *p,*q ;=L1=L2q=q-next=L1;next =L2;3、设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。void assendingdatadatar-next=r; p=

17、r;elsewhiles=p; s-p=head-4、编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。void linklist_cnext=head;设单链表的长度数据结点数为N,则该算法的时间主要花费在查找链表最后一个结点上算法中的while循环,所以该算法的时间复杂度为ON。5、已知head为带头结点的单循环链表的头指针,链表中的数据元素依次为a1,a2,a3,a4,an,A为指向空的顺序表的指针。阅读以下程序段,并回答问题:1写出执行下列程序段后的顺序表A中的数据元素;2简要叙述该程序段的功能。=headA-length=0;dataA

18、-length +=p-a2, a4, , 将循环单链表中偶数结点位置的元素值写入顺序表A6、设顺序表va中的数据元数递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。void Insert_sq int i, j, n; n=length=vaivan=x;i=0;vai i+;j=n-1;j=I;j-vaj+1=vaj;vai=x;n+;7、假设线性表采用顺序存储结构,表中元素值为整型。阅读算法f2,设顺序表L=,写出执行算法f2后的线性表L的数据元素,并描述该算法的功能。 void f2int i,j,k;k=0;length;k & L-datai!=L-dataj;j=kk!=idatak=L-datai;k+;length=k;3,7,2,1,8 删除顺序表中重复的元素8、已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删除表中所有大于x且小于y的元素若表中存在这样的元素同时释放被删除结点空间。void Delete_list Lnode *p, *q;p=head; q=p;ifi+;p=headhead=p

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1