数据库系统l试题库及答案-第2章-线性表_第1页
数据库系统l试题库及答案-第2章-线性表_第2页
数据库系统l试题库及答案-第2章-线性表_第3页
数据库系统l试题库及答案-第2章-线性表_第4页
数据库系统l试题库及答案-第2章-线性表_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统l试题库及答案-第2章-线性表数据库系统l试题库及答案-第2章-线性表数据库系统l试题库及答案-第2章-线性表资料仅供参考文件编号:2022年4月数据库系统l试题库及答案-第2章-线性表版本号:A修改号:1页次:1.0审核:批准:发布日期:线性表知识点:线性表的逻辑结构一、填空题线性表是一个有限序列,结点间的关系是的。线性表的存储方式分为和。线性表中的数据元素可以是简单的数据类型,也可以由若干组成。每个操作在层次上尚不能用具体的某种程序语言写出具体的算法,而算法只有在确立之后才可以实现。二、选择题()线性表L=(a,a,…,a),下列说法正确的是()。每个元素都有一个直接前驱和一个直接后继。线性表中至少要有一个元素。表中诸元素的排列顺序必须是由小到大或由大到小。除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。()在线性表的下列运算中,不改变数据元素之间结构关系的运算是()。A.插入B.删除C.排序D.定位()线性表是具有n个()的有限序列(n>=0)。A.表元素B.字符C.数据元素D.数据项E.信息项4.()以下不属于线性结构的是()。A.栈B.队列C.串D.二维数组E.二叉树三、判断题()同一线性表的数据元素可以具有不同的特性。()线性表的长度n就是表中数据元素的个数,当n=0时,称为空表。()基本操作的实现可以在逻辑结构分析之后进行。知识点:线性表的顺序存储结构一、填空题在线性表的顺序存储结构中,元素间的逻辑关系是通过决定的。在顺序表中插入或删除一个元素,需要平均移动元素,具体移动的元素个数与______________有关。向一个长度为n的顺序表的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动个元素。从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动个元素。在顺序表中访问任意一结点的时间复杂度均为,因此,顺序表也称为的数据结构。线性表的顺序存储是用一组连续的空间单元实现数据元素的存储,逻辑上相邻的元素的物理位置相邻。向一个长度为n的顺序表中任意位置插入一个元素所需移动的平均次数为。从一个长度为n的顺序表中删除任意一个元素所需移动的平均次数为。二、选择题()1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并连续,称之为()。A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构()顺序表第一个元素的存储地址是100,每个元素长度为2,则第5个元素的地址是()。()在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)在第i个结点后插入一个新结点(1≤i≤n)删除第i个结点(1≤i≤n)将n个结点从小到大排序()若某线性表中最常用的操作是取第i个元素和找第i个元素的前驱元素,则采用()存储方式最节省时间。A.单链表B.双链表C.单向循环D.顺序表()下述哪一条是顺序存储结构的优点()。A.存储密度大B.插入运算方便C.删除运算方便D.按照序号定位()若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。A.O(0)B.O(1)C.O(n)D.O(n)三、判断题1.()从长度为n的顺序表中删除任何一个元素,时间复杂度都是O(n)。2.()顺序表中任意一个数据元素的地址都可以通过计算得到。3.()存放顺序表的数据元素的地址空间可以连续也可以不连续。4.()在顺序表中按值进行查找的时间复杂度是O(n)。5.()顺序存储方式的特点是存储密度大且插入和删除运算效率高。四、简答题1.已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:voidf30(SqList&L){inti,j;for(i=j=0;i<;i++)if([i]>=0){if(i!=j)L[j]=[i];j++;}=j;}(1)设线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态;(2)简述算法f30的功能。四、算法设计题1.设计一个算法从一给定的有序顺序表L中删除元素值在x到y(x<=y)之间的所有元素,要求以较高的效率来实现。要求算法的空间复杂度为O(1)。2.设有一个顺序表L,含有2n个整数,其中n个为负数,n个为正数,设计一个算法将L中所有元素按正负数相间排列。要求本算法的时间复杂度为O(n),空间复杂度为O(1)。3.假设以两个元素依值递增有序排列的线性表A和B分别表示两个集合(即同一表中的元素值各不相同),要求分别设计求A和B交、并、差集的算法,要求结果线性表中的元素依值递增有序排列。试对顺表实现以上算法。4.假设一个顺序表L中所有元素为整数,设计一个算法调整该顺序表,使其中所有小于0的元素放在所有大于等于0的元素的前面。5.设顺序表A中前m个有序,后n个有序,试设计一算法使得整个顺序表有序。知识点:线性表的链式存储结构一、填空题在链式存储中,元素之间的逻辑关系是通过___________决定的。在单链表中,除了首元结点外,任一结点的存储位置由指示。在n个结点的单链表中要删除已知结点*p,需找到它的,其时间复杂度为。在双链表中,每个结点有两个指针域,一个指向,另一个指向。在一个单链表中的p所指结点之后插入一个s所指结点时,执行的操作是。对于一个具有n个结点的单链表,在p结点后插入一个新结点的时间复杂度是;在给定值x的结点后插入一个新结点的时间复杂度是。头结点地址指针为L的循环单链表,空表的判别标志是。在一个单链表中删除p所指结点时,应执行以下操作:q=p->next;p->data=q->data;;free(p);带头结点的单链表head为空的判定条件是。在一个单链表head中,已知p指向某个非终端节点,若要删除其后的一个结点则执行的运算是。二、选择题()链表是一种采用()存储结构存储的线性表。A.顺序B.链式C.星式D.网状()线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续或不连续都可以()线性表L在()情况下适用于使用链式结构实现。A.需经常修改L中的结点值B.需不断对L进行删除插入C.L中含有大量的结点D.L中结点结构复杂()单链表的存储密度()。A.大于1B.等于1C.小于1D.不能确定()单链表不具备的特点是()。A.可随机访问任一节点B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与其长度成正比()设r指向单链表的最后一个结点,要在最后一个结点之后插入s所指的结点,需执行的三条语句是();r=s;r->next=null;。>next=s;>next=r;>next=null;=r;()在一个单链表中,q为p的前驱结点,要删除p所指结点时,应执行以下操作()。A.q=p->next;>next=q->next;>next=q;>next=p->next()完成在双循环链表结点p之后插入s的操作是()。>next=s;s->prior:=p;p->next->prior:=s;s->next=p->next;>next->prior=s;p->next=s;s->prior=p;s->next:=p->next;>prior=p;s->next=p->next;p->next=s;p->next->prior=s;>prior=p;s->next=p->next;p->next->prior=s;p->next=s;()某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表()以下说法错误的是()。A.求表长、定位两种运算在采用顺序存储结构时的时间复杂度为O(n)B.顺序存储的线性表可以随机存取C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活D.线性表的链式存储结构优于顺序存储结构11.在一个双链表中,删除p结点(非尾结点)之后的一个结点的操作是()。A.p->next=p->next->next;p->next->next->prior=p;B.p->next->prior=p;p->next=p->next->next;C.p->next=p->next->next;p->next->prior=p;D.p->next->next=p->next;p->next->prior=p;12.在带头结点的循环单链表中,至少有一个结点的条件是(),其尾结点p的条件是()。A.L->next!=NULL>next!=LC.p==NULLD.p->next=L三、判断题()线性表的逻辑顺序与存储顺序总是一致的。()在单链表中存取某个元素,只要知道指向该元素的指针,因此单链表是随即存取的存储结构。()在顺序表中存取某个元素,需要按照顺序进行,因此顺序表是顺序存取的存储结构。()单链表从任何一个结点出发,都能访问到所有结点。四、简答题1.描述以下三个概念的区别:头指针.头结点.首元结点(第一个元素结点)。在单链表中设置头结点的作用是什么?试比较线性表的两种存储结构的优缺点。在什么情况下用顺序表比链表好?五、算法设计题1.试写一算法,对单链表实现就地逆置。2.设计一个算法,求A和B两个单链表表示的集合的交集、并集和差集,单链表中的数据递增有序排列。要求分别按照共用原有空间和重新申请空间两种方案分别设计算法。已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值大于mink且小于maxk的元素(若表中存在这样的元素),同时释放被删结点空间,并分析你的算法的时间复杂度(注意,mink和maxk是给定的两个参变量,它们的值可以和表中的元素相同,也可以不同)。线性表知识点:线性表的逻辑结构一、填空题1.一对一2.顺序存储链式存储3.数据项_4.逻辑结构存储结构二、选择题1.D2.D3.C三、判断题1.×2.√3.×知识点:线性表的顺序存储结构一、填空题1.物理存储位置2.表中一半表长和该元素在表中的位置3.n-i+14.n-I5.O(1)随机存取6.地址必定7.(n+1)/22二、选择题三、判断题1.×2.√3.×4.√5.×四、答题1.(1)(21,19,0,34,30)(2)功能是选出线性表中大于等于零的数。四、算法设计题1.voiddelete(SqList&L,ElemTypex,ElemTypey){inti=0,k=0;while(i<{ if[i]>=x&&[i]<=y) k++;voidmove(SqList&L){inti=0,j=;inttemp;while(i<j)集:voidintersection(SqListA,SqListB,SqList&C){inti=0,j=0,k=0;while(i<&&j<{ if[i]<[j])i++; elseif[i]>[j])j++; else{[k]=[i];k++;i++;j++;}voidfun(SqList&L){inti=,j=;while(i<=j){while[i]<0)i++;while[j]>=0)j--;if(i<j){merge(SqList&A,intm,intn){inti=0,j=m,k;while(j<&&i<j){if[j]>[j-1])链域的指针值2.其直接前驱结点的链域的值3.前驱结点的地址O(n)4.前驱结点后继结点5.s->next=p->next;p->next=s;6.O(1)O(n)7.L->next=L8.p->next=q->next;>next==NULL=p->next;p->next=q->next;free(q);二、选择题三、判断题1.×2.×3.×4.×四、简答题1.答:首元结点是指链表中存储线性表中第一个数据元素a1的结点。为了操作方便,通常在链表的首元结点之前附设一个结点,称为头结点,该结点的数据域中不存储线性表的数据元素,其作用是为了对链表进行操作时,可以对空表.非空表的情况以及对首元结点进行统一处理。头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针。若链表中附设头结点,则不管线性表是否为空表,头指针均不为空。否则表示空表的链表的头指针为空。这三个概念对单链表.双向链表和循环链表均适用。是否设置头结点,是不同的存储结构表示同一逻辑结构的问题。头结点headàdatalink头指针首元结点简而言之,头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针;头结点是在链表的首元结点之前附设的一个结点;数据域内只放空表标志和表长等信息(内放头指针?那还得另配一个头指针!!!)首元素结点是指链表中存储线性表中第一个数据元素a1的结点。2.①顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。优点:存储密度大,存储空间利用率高。缺点:插入或删除元素时不方便。②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小(<1),存储空间利用率低。顺序表适宜于做查找这样的静态操作;链表宜于做插入.删除这样的动态操作。若线性表的长度变化不大,且其主要操作是查找,则采用顺序表;若线性表的长度变化较大,且其主要操作是插入.删除操作,则采用链表。五、算法设计题1.StatusListOppose_L(LinkList&L){ LinkListp,q; p=L->next;//p指向单链表第一个结点 L->next=NULL;//形成空的单链表 while(p){//采用头插入法将p结点插入到头结点的后面实现逆置 q=p; p=p->next; q->next=L->next; L->next=q; } returnOK;}2.并集:LinkListBingji(LinkList&Head1,LinkList&Head2,LinkList&Head3){LNode*p1=Head1->next;LNode*p2=Head2->next;LNode*p3=Head3=Head1;while(p1&&p2){if(p1->data<p2->data){p3->next=p1;p3=p3->next;p1=p1->next;}else{if(p1->data>p2->data){p3->next=p2;p3=p3->next;p2=p2->next;}else{p3->next=p1;p3=p3->next;p1=p1->next;q=p2;free(q);p2=p2->next;}}}p3->next=(p1)p1:p2;free(Head2);returnHead3;}交集:LinkListJiaoji(LinkList&Head1,LinkList&Head2,LinkList&Head3){LinkListpa,pb,r,p;pa=Head1->next; pb=Head2->next;r=Head3=Head1; while(pa&&pb){ if(pa->data<pb->data) {r->next=pa->next; free(pa); pa=r->next; } else if(pa->data>pb->data) pb=pb->next; else {r->next=pa;r=pa;pa=pa->next;} } while(pa){r->next=pa->next; free(pa);pa=r->next; } w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论