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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据库系统l试题库及答案 第2章 线性表文档格式.docx

1、A.访问第i个结点(1in)和求第i个结点的直接前驱(2in) B.在第i个结点后插入一个新结点(1in)C.删除第i个结点(1in)D.将n个结点从小到大排序4.( )若某线性表中最常用的操作是取第i 个元素和找第i个元素的前驱元素,则采用( ) 存储方式最节省时间。 A.单链表 B.双链表 C.单向循环 D.顺序表5.( )下述哪一条是顺序存储结构的优点( )。 A存储密度大 B插入运算方便 C删除运算方便 D按照序号定位 6.( )若长度为n 的线性表采用顺序存储结构,在其第i 个位置插入一个新元素的算法的时间复杂度为( )(1=i=n+1)。AO(0) BO(1) CO(n) DO(n

2、)1. ( )从长度为n的顺序表中删除任何一个元素,时间复杂度都是O(n)。2. ( )顺序表中任意一个数据元素的地址都可以通过计算得到。3. ( )存放顺序表的数据元素的地址空间可以连续也可以不连续。4. ( )在顺序表中按值进行查找的时间复杂度是O(n)。5. ( )顺序存储方式的特点是存储密度大且插入和删除运算效率高。四、简答题1已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:void f30 (SqList &L) int i,j;for (i=j=0;i=0)if(i!=j)Lj=L.elemi;j+;L.length=j;(1)设线性表L=(21,-7,-8,19,0,-1

3、1,34,30,-10),写出执行f30(&L)后的L状态;(2)简述算法f30的功能。四、算法设计题1.设计一个算法从一给定的有序顺序表L中删除元素值在x到y(xnext; p-data=q-data; ; free(p);9.带头结点的单链表head为空的判定条件是 。10.在一个单链表head中,已知p指向某个非终端节点,若要删除其后的一个结点则执行的运算是 。1.( )链表是一种采用( )存储结构存储的线性表。 A.顺序 B.链式 C.星式 D.网状2.( )线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的

4、 D.连续或不连续都可以3.( )线性表在( )情况下适用于使用链式结构实现。 A.需经常修改中的结点值 B.需不断对进行删除插入 C.中含有大量的结点 D.中结点结构复杂4.( )单链表的存储密度( )。 A.大于1 B.等于1 C.小于1 D.不能确定5.( )单链表不具备的特点是( )。 A.可随机访问任一节点 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比6.( )设r指向单链表的最后一个结点,要在最后一个结点之后插入s所指的结点,需执 行的三条语句是( );r=s;r-next=null;。 A.r-next=s; B.s-next=r; C.s-

5、D.s=r;7.( ) 在一个单链表中,q为p的前驱结点,要删除p所指结点时,应执行以下操作( )。 A. q=p- B.p-next=q- C.p-next=q; D.q-next=p-next8.( )完成在双循环链表结点p之后插入s的操作是( )。 A.p-next=s ; s-prior:=p;next-=s ;prior=s;prior=p;next:=p-prior=s ; D.s-9.( ) 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采 用( )存储方式最节省运算时间。 A.单链表 B.仅有头指针的单循环链表 C. 双链表 D. 仅有尾指针的单循环

6、链表10.( )以下说法错误的是( )。A求表长、定位两种运算在采用顺序存储结构时的时间复杂度为O(n) B顺序存储的线性表可以随机存取 C由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活D线性表的链式存储结构优于顺序存储结构11. 在一个双链表中,删除p结点(非尾结点)之后的一个结点的操作是( )。Ap-B. p-p-C. p-D. p-12. 在带头结点的循环单链表中,至少有一个结点的条件是( ),其尾结点p的条件是( )。 AL-next!=NULL B.L-next!=L C. p=NULL D. p-next=L 1.( )线性表的逻辑顺序与存储顺序总是一致的。2.( )在单

7、链表中存取某个元素,只要知道指向该元素的指针,因此单链表是随即存取的存储 结构。3.( )在顺序表中存取某个元素,需要按照顺序进行,因此顺序表是顺序存取的存储结构。4.( )单链表从任何一个结点出发,都能访问到所有结点。1.描述以下三个概念的区别:头指针.头结点.首元结点(第一个元素结点)。在单链表中设置头结点的作用是什么?2.试比较线性表的两种存储结构的优缺点。在什么情况下用顺序表比链表好?五、算法设计题1试写一算法,对单链表实现就地逆置。2设计一个算法,求A和B两个单链表表示的集合的交集、并集和差集,单链表中的数据递增有序排列。要求分别按照共用原有空间和重新申请空间两种方案分别设计算法。3

8、已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值大于mink且小于maxk的元素( 若表中存在这样的元素),同时释放被删结点空间,并分析你的算法的时间复杂度(注意,mink和maxk是给定的两个参变量,它们的值可以和表中的元素相同,也可以不同)。1. 一对一 2. 顺序存储 链式存储 3. 数据项_ 4. 逻辑结构 存储结构1. D 2. D 3C 4.E1. 2. 3. 1. 物理存储位置 2. 表中一半 表长和该元素在表中的位置 3. n-i+1 4. n-I 5. O(1) 随机存取6. 地址 必定 7.(n+1)/2 8.n/2 1.C 2.B

9、 3.A 4.D 5.AD 6.C 2. 3. 4. 5. 四、答题1(1)(21,19,0,34,30) (2)功能是选出线性表中大于等于零的数。1. void delete(SqList &L,ElemType x,ElemType y) int i=0,k=0; while(i=x &L.elemi0)i+;L.elemj0)j-; if(ij) /交换L.elemi(负数)和L.elemj(正数) temp=L.elemi; L.elemi=L.elemj; L.elemj=temp; i=1;L.length/2) /通过交换使得正负数相间 j=L.length-2; temp=L.

10、elemi; L.elemi=L.elemj; L.elemj=temp; i=i+2; j=j-2;3.交集:void intersection(SqList A,SqList B ,SqList &C) int i=0,j=0,k=0;A.length&jB.length) if(A.elemiB.elemj) j+; else C.elemk=A.elemi; k+;i+;j+; /共同的元素 C.length=k;并集:void Union(SqList A,SqList B ,SqList &B.elemj) C.elemk=A.elemi;k+;B.elemj) C.elemk=B

11、.elemj; else C.elemk=A.elemi; /共同的元素只放一个A.len)C.elemk=A.elemi;i+ while(jB.len)C.elemk=B.elemj;j+差集:void differnce(SqList A,SqList B ,SqList &B.elemj) j+; else i+;A.length)C.elemk=A.elemi;4. void fun(SqList &L) int i=,j=L.length-1;=j)while(L.elemi=0) j-;if(ij) /L.elemi 和 L.elemj 交换 temp= L.elemi;L.el

12、emi= L.elemj;L.elemj=temp;5. merge(SqList &A ,int m,int n) int i=0,j=m,k;while(jA.elemj-1) /整个表已经递增有序,退出循环 break;else if(A.elemj=i;k-) /将A.elemi及之后的元素后移 A.elemk+1= A.elemk; A.elemi=temp; /将A.elemj插入到i处 j+;else i+;本算法的时间复杂度为O(m*n) ,空间复杂度为O(1)。1. 链域的指针值 2. 其直接前驱结点的链域的值 3. 前驱结点的地址 O(n) 4. 前驱结点 后继结点 5.

13、s- 6. O(1) O(n) 7. L-next=L 8. p- 9.head-next=NULL 10.q=p-free(q);二、选择题 1.B 2.D 3.B 4.C 5.A 6.A 7.D 8.D 9.D 10.D 11.C 12.BD 1. 2. 3. 4. 1. 答:首元结点是指链表中存储线性表中第一个数据元素a1的结点。为了操作方便,通常在链表的首元结点之前附设一个结点,称为头结点,该结点的数据域中不存储线性表的数据元素,其作用是为了对链表进行操作时,可以对空表.非空表的情况以及对首元结点进行统一处理。头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针。若链表中附设头

14、结点,则不管线性表是否为空表,头指针均不为空。否则表示空表的链表的头指针为空。这三个概念对单链表.双向链表和循环链表均适用。是否设置头结点,是不同的存储结构表示同一逻辑结构的问题。 头结点headdatalink 头指针 首元结点简而言之,头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针;头结点是在链表的首元结点之前附设的一个结点;数据域内只放空表标志和表长等信息(内放头指针?那还得另配一个头指针)首元素结点是指链表中存储线性表中第一个数据元素a1的结点。2. 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。优点:存储密度大,存

15、储空间利用率高。缺点:插入或删除元素时不方便。链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针插入或删除元素时很方便,使用灵活。存储密度小( /p指向单链表第一个结点 L-next=NULL; /形成空的单链表 while(p) /采用头插入法将p结点插入到头结点的后面实现逆置 q=p; p=p- q-next=L- L- return OK;2并集:LinkList Bingji(LinkList &Head1,LinkList &Head2,LinkList &Head3) LNode *p1=Head1-LNode *p2=H

16、ead2-LNode *p3=Head3=Head1;while(p1 & p2) if(p1-data data) p3-next =p1; p3=p3-next ; p1=p1- else data next =p2; p2=p2- elsenext = p1; q=p2; free(q); p3-next =(p1)?p1:p2;free(Head2);return Head3;交集:LinkList Jiaoji(LinkList & LinkList pa,pb,r,p; pa=Head1- pb=Head2- r=Head3=Head1; while(pa&pb) if(pa-datadata) r-next =pa- free(pa); pa=r- else if(pa-data pb=pb- else r-next=pa; r=pa;pa=pa- while(pa) free(pa); pa=r- while (Head2-next) /释放Head2链表所有的结点空间 p=Head2- Head2- return Head3;差集:LinkList Chaji(LinkList & r=r- pa=pa-next=pa-ne

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

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