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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构第2章作业.docx

1、数据结构第2章作业第2章线性表一选择题1下述哪一条是顺序存储结构的优点?()A存储密度大B插入运算方便C删除运算方便D可方便地用于各种逻辑结构的存储表示2下面关于线性表的叙述中,错误的是哪一个?()A线性表采用顺序存储,必须占用一片连续的存储单元。B线性表采用顺序存储,便于进行插入和删除操作。C线性表采用链接存储,不必占用一片连续的存储单元。D线性表采用链接存储,便于插入和删除操作。3线性表是具有n个()的有限序列(n0)。 A表元素B字符C数据元素D数据项E信息项4若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。A顺序表B双链表C带头结

2、点的双循环链表D单循环链表5某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。A单链表B仅有头指针的单循环链表C双链表D仅有尾指针的单循环链表6设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。A.单链表B.单循环链表C.带尾指针的单循环链表D.带头结点的双循环链表7若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用()存储方式最节省运算时间。A单链表B双链表C 单循环链表D带头结点的双循环链表8.静态链表中指针表示的是(). A内存地址B数组下标C下一元素地址D左、右孩子地址9.链表不具

3、有的特点是() A插入、删除不需要移动元素B可随机访问任一元素C不必事先估计存储空间D所需空间与线性长度成正比10.下面的叙述不正确的是()A线性表在链式存储时,查找第i个元素的时间同i的值成正比B.线性表在链式存储时,查找第i个元素的时间同i的值无关C.线性表在顺序存储时,查找第i个元素的时间同i的值成正比D.线性表在顺序存储时,查找第i个元素的时间同i的值无关11. 12.(1)静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关。(2)静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。(3)静态链表与动态链表在元素的插入、删除上类似,

4、不需做元素的移动。以上错误的是()A(1),(2)B(1)C(1),(2),(3)D.(2)13.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1=iLlink=q;q-Rlink=p;p-Llink-Rlink=q;q-Llink=q;B.p-Llink=q;p-Llink-Rlink=q;q-Rlink=p;q-Llink=p-Llink;C.q-Rlink=p;q-Llink=p-Llink;p-Llink-Rlink=q;p-Llink=q;D.q-Llink=p-Llink;q-Rlink=q;p-Llink=q;p-Llink=q;24在

5、单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。Ap-next=s;s-next=p-next;Bs-next=p-next;p-next=s;Cp-next=s;p-next=s-next;Dp-next=s-next;p-next=s;25对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()Ahead=NULLBheadnext=NULLCheadnext=headDhead!=NULL26.在双向链表存储结构中,删除p所指的结点时须修改指针()。A(p.llink).rlink:=p.rlink(p.rlink).llink:=p.llink;Bp.ll

6、ink:=(p.llink).llink(p.llink).rlink:=p;C(p.rlink).llink:=pp.rlink:=(p.rlink).rlinkDp.rlink:=(p.llink).llinkp.llink:=(p.rlink).rlink;27.双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点)Ap.llink.rlink:=p.llink;p.llink.rlink:=p.rlink;dispose(p);Bdispose(p);p.llink.rl

7、ink:=p.llink;p.llink,rlink:=p.rlink;Cp.llink.rlink:=p.llink;dispose(p);p.llink.rlink:=p.rlink;D以上A,B,C都不对。二、判断1.链表中的头结点仅起到标识的作用。() 2.顺序存储结构的主要缺点是不利于插入或删除操作。()3线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。()4顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。()5.对任何数据结构链式存储结构一定优于顺序存储结构。()6顺序存储方式只能用于存储线性结构。()7集合与线性表的区别在于是否按关键字排序。() 8.所

8、谓静态链表就是一直不发生变化的链表。() 9.线性表的特点是每个元素都有一个前驱和一个后继。()10.取线性表的第i个元素的时间同i的大小有关. ()11.循环链表不是线性表.() 12.线性表只能用顺序存储结构实现。() 13.线性表就是顺序存储的表。() 14为了很方便的插入和删除数据,可以使用双向链表存放数据。()15.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。()16.链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。() 三、填空1当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_

9、存储结构。2线性表L=(a1,a2,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是_。3设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点,若将结点y插入结点x之后,则需要执行以下语句:_;_;4在一个长度为n的顺序表中第i个元素(1=i0 DOBEGIN(2);(3);(4);(5);read(k)END;q.next:=NIL;END; 21.已给如下关于单链表的类型说明:TYPElist=node ;node=RECORDdata:integer;next:l

10、ist;END;以下程序采用链表合并的方法,将两个已排序的单链表合并成一个链表而不改变其排序性( 升序),这里两链表的头指针分别为p和q.PROCEDURE mergelink(VAR p,q:list):VAR h,r: list;BEGIN(1)_h.next:= NIL; r:=h;WHILE(pNIL) AND (qNIL)DOIF (p.data=q.data)THENBEGIN(2)_;r:=p; p:=p.next;ENDELSEBEGIN(3)_;r:=q; q:=q.next;END;IF (p=NIL)THENr.next:=q;(4)_;p:=h.next; dispos

11、e(h);END; 22假设链表p和链表q中的结点值都是整数,且按结点值的递增次序链接起来的带表头结点的环形链表。各链表的表头结点的值为max,且链表中其他结点的值都小于max,在程序中取max为9999。在各个链表中,每个结点的值各不相同,但链表p和链表q可能有值相同的结点(表头结点除外)。下面的程序将链表q合并到链表p中,使得合并后的链表是按结点值递增次序链接起来的带表头结点的环形链表,且链表中各个结点的值各不相同。请在划线处填上适当内容,每个框只填一个语句或一个表达式,链表的结点类型如下TYPEnodeptr=nodetype;nodetype=RECORDdata:integer;li

12、nk:nodeptr;END;CONST max=9999;PROCEDUREmerge(VAR p:nodeptr;q:nodeptr);VAR r,s: nodeptr;BEGINr:=p;WHILE(A)_DOBEGINWHILEr.link.dataq.link.dataTHENBEGINs:=(C)_;(D)_:=s.link; s.link:=(E)_;(F)_ _:=s;(G)_;ENDELSE BEGIN(H)_; s:=q.link;(I)_; dispose(s)ENDEND;dispose(q)END;23PROC ins_linklist(la:linkisttp; i

13、:integer; b:elemtp);la为指向带头结点的单链表的头指针,本算法在表中第i个元素之前插入元素bp:=(1);j:=(2);指针初始化,j为计数器WHILE (pNIL)AND(3) DOp:=(4);j:=j+1;寻找第i-1个结点IF (p=NIL)OR(5)THEN error (No this position)ELSE new(s) ;s.data:=b; s.next:=p.next; p.next:=s;ENDP;ins-linklist24.已知双链表中结点的类型定义为:TYPE dpointer=list;list=RECORDdata:integer; le

14、ft,right:dpointer;END;如下过程将在双链表第i个结点(i=0)之后插入一个元素为x的结点,请在答案栏给出题目中_处应填入的语句或表达式,使之可以实现上述功能。PROCEDUREinsert(VAR head:dpointer;i,x:integer);VAR s,p:dpointer;j: integer;BEGINnew(s); s.data:=x;IF(i=0)THEN BEGIN s.right:=head;(1)_head:=s END如果i=0,则将s结点插入到表头后返回ELSE BEGIN p:=head;(2)_;在双链表中查找第i个结点,由p所指向WHILE

15、 (pNIL) AND (ji) DOBEGINj:=j+1;(3) _END;IF pNIL THENIF(p.right=NIL)THEN BEGIN p.right:=s; s.right:=NIL;(4) _ENDELSE BEGIN s.right:=p.right;(5)_;p.right:=s;(6)ENDELSEwriteln(can not find node!)ENDEND;25阅读以下算法,填充空格,使其成为完整的算法。其功能是在一个非递减的顺序存储线性表中,删除所有值相等的多余元素。CONSTmaxlen=30TYPE sqlisttp=RECORDelem:ARRAY

16、1.maxlen OF integer;last:0.maxlenEND;PROC exam21(VAR L:sqlisttp);j:=1;i:=2;WHILE(1)_DO IFL.elemiL.elemjTHEN (2)_;(3)_;i:=i+1 (4) _;ENDP; 26在本题的程序中,函数过程Create_link_list(n)建立一个具有n个结点的环形链表;程序过程josephus(n,i,m)对由Create_link_list(n)所建立的具有n个结点的环形链表按一定的次序逐个输出并删除链表中的所有结点,参数n(n0)指明环形链表的结点个数,参数i(1=i0)是步长,指明从起始

17、结点或前次被删除并输出的结点之后的第m个结点作为本次被输出并删除的结点。例如,对于下图中具有6个结点的环形链表,在调用josephus(6,3,2)后,将输出5,1,3,6,4,2请在横线处填上适当内容,每空只填一个语句。TYPE nodeptr=nodetype;nodetype=RECORDdata: intrger; link: nodeptrEND;VAR n,i,m: integer;FUNCTION Create_link_list(n: integer): nodeptr;VAR head,p,q: nodeptr; i:integer;BEGIN head := NIL;IF n0 THENBEGIN new(head); p: =head;FOR i:=1 TO n-1 DOBEGINp.data:=i;new(q);(A)_;(B)_ END;p.data:=n;(C)_;END;Creat_link_list:=headEND;PROCEDUREjosephus(n,i,m:integer);VAR p,q:nodeptr; j:integer;BEGIN p:=Creat_link_list(n);WHILE i1 DO BEGIN p:=p.link;i:=i-1END;(D)_;WHILEjnDOBEGINFOR i

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

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