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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构线性表试题Word下载.docx

1、prior;B) q-prior=q-next;C) q-D) p-【答案】D 4在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是( ) A)O(nlog2n) B) O(1) C) O(n) D) O(n2) 5 在一个以 h 为头指针的单循环链中,p 指针指向链尾结点的条件是( ) A)p-next=NULL B) p-next=h C)p-next-next=h D) p-data=-1 【答案】B 6对于一个具有n个结点的线性表,建立其单链表的时间复杂度是() A)O(n) B) O(1) C)O(nlog2n) D) O(n2) 8在双向链表存储结构中,删除

2、p所指的结点时须修改指针() next=p-next p-B)p-prior p-prior=p p-next D)p-9线性表采用链式存储时,其元素地址() A)必须是连续的 B)一定是不连续的 C)部分地址是连续的 D)连续与否均可 2.2填空题1线性表L=(a1,a2,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是_。【答案】(n-1)/2 2在单链表中设置头结点的作用是_。【答案】主要是使插入和删除等操作统一,在第一个元素之前插入元素和删除第一个结点不必另作判断。另外,不论链表是否为空,链表头指针不变。3线性表的顺序存储是通过_来反应元素之间的

3、逻辑关系,而链式存储结构是通过_来反应元素之间的逻辑关系。(1)数据元素的前后顺序 (2)元素中的指针 4当对一个线性表经常进行的是存取操作,而很少进行插入和删除操作时,则采用_存储结构最节省时间,相反当经常进行插入和删除操作时,则采用_存储结构最节省时间。(1)顺序 (2)链式 5对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为_,在给定值为x的结点后插入一个新结点的时间复杂度为_。(1)O(1) (2)O(n) 7. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_个,单链表为_个。(1)4 (2)2 8. 循环单链表的最大优点是_。【答案】从任一结点

4、出发都可访问到链表中每一个元素。9若要在一个不带头结点的单链表的首结点*p结点之前插入一个*s结点时,可执行下列操作: s-next=_;next=s; t=p-data;data= _;data=_;(1)p-next (2)s-data (3) t 10某线性表采用顺序存储结构,每个元素占据4个存储单元,首地址为100,则下标为11的(第12个)元素的存储地址为_。【答案】144 11带头结点的双循环链表L中只有一个元素结点的条件是_。【答案】L-next=L 2.3 判断题1取线性表的第i个元素的时间同i的大小有关() 【答案】2线性表的特点是每个元素都有一个前驱和一个后继() 3 顺序

5、存储方式的优点是存储密度大,且插入、删除运算效率高() 4线性表采用链表存储时,结点的存储空间可以是不连续的() 【答案】5链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高() 6顺序存储方式只能用于存储线性结构() 【解析】线性结构、树型结构和图状结构均可用顺序存储表示。9顺序存储结构的主要缺点是不利于插入或删除操作() 10顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好() 2.4程序设计题1设顺序表va中的数据元素递增有序。试设计一个算法,将x插入到顺序表的适当位置上,以保持该表的有序性。【算法源代码】 void Insert_SqLis

6、t(SqList va,int x)/*把x插入递增有序表va中*/ int i;if(va.length MAXSIZE) return;for(i=va.length-1;va.elemx&i=0;i-) va.elemi+1=va.elem;va.elemi+1=x;va.length+;/*Insert_SqList*/ 2设 A=(a1,a2,am) 和 B=(b1,b2,bn)均为顺序表,试设计一个比较A,B大小的算法(请注意:在算法中,不要破坏原表A和B)。【算法分析】比较顺序表A和B,并用返回值表示结果,值为1,表示AB;值为-1,表示A值为0,表示A=B。1)当两个顺序表可以

7、互相比较时,若对应元素不等,则返回值为1或-1;2)当两个顺序表可以互相比较的部分完全相同时,若表长也相同,则返回值为0;否则,哪个较长,哪个就较大 【算法源代码】int ListComp(SqList A,SqList B) for(i=1;iB.elem?1:-1;if(A.length=B.length) return 0;return A.lengthB.length? /*当两个顺序表可以互相比较的部分完全相同时,哪个较长,哪个就较大*/*ListComp */3已知指针 ha和 hb分别指向两个单链表的头结点,并且已知两个链表的长度分别为m和n。试设计一个算法将这两个链表连接在一起

8、(即令其中一个表的首元结点连在另一个表的最后一个结点之后),假设指针hc指向连接后的链表的头结点,并要求算法以尽可能短的时间完成连接运算。【算法分析】 1)单链表ha的头结点作为连接后的链表的头结点,即hc=ha;2)查找单链表ha的最后一个结点,由指针p指向,即p-next=NULL;3)将单链表hb的首元结点(非头结点)连接在p之后,即p-next=hb-next;4)回收单链表hb的头结点空间 void ListConcat(LinkList ha,LinkList hb,LinkList *hc)/*把链表hb接在ha后面形成链表hc*/ *hc=ha; p=ha;/*由指针p指向ha

9、的尾元结点*/ p=p- p-free(hb);/*ListConcat */4试设计一个算法,在无头结点的动态单链表上实现线性表操作INSERT(L,i,b),并和在带头结点的动态单链表上实现相同操作的算法进行比较。1)生成新结点存放元素b,由指针new指向;2)将new插入在单链表的第i个元素的位置上:若i=1,new插在链表首部;否则查找第i-1个结点,由指针p指向,然后将new插在p之后。void Insert(LinkList *L,int i,int b) LinkList new;new=(LinkList*)malloc(sizeof(LNode);new-data=b;if(

10、i=1) /*插入在链表头部*/ New-next=*L; *L=new; else /*插入在第i个元素的位置*/ p=*L; while(-i1) p=p-new-p-next=new; /*Insert */5已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试设计一个高效的算法,删除表中所有值大于 mink且小于 maxk的元素(若表中存在这样的元素),同时释放被删结点空间(注意:mink和maxk是给定的两个参变量。它们的值可以和表中的元素相同,也可以不同)。1)查找最后一个不大于mink的元素结点,由指针p指向;2)如果还有比mink更大的元素,查找第一个不小于maxk的元

11、素,由指针q指向;3)p-next=q,即删除表中所有值大于 mink且小于 maxk的元素。void Delete_Between(LinkList *L,int mink,int maxk) p=*L;while(p-data /*p是最后一个不大于mink的元素*/ if(p-next) /*如果还有比mink更大的元素*/ q=p-while(q-maxk) q=q- /*q是第一个不小于maxk的元素*/ p-/*Delete_Between */ 6已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试设计一个高效的算法,删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同),同时释放被删结点空间。1)

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

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