欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构线性表练习题试卷及答案_中学教育-试题.pdf

    • 资源ID:94888511       资源大小:2.77MB        全文页数:56页
    • 资源格式: PDF        下载积分:5.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要5.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构线性表练习题试卷及答案_中学教育-试题.pdf

    -word.zl-第 2 章 线性表 后面红色的答案 一 选择题 1下述哪一条是顺序存储构造的优点?【北方交通大学 2001 一、42 分】A存储密度大 B插入运算方便 C删除运算方便 D可方便地用于各种逻辑构造的存储表示 2下面关于线性表的表达中,错误的选项是哪一个?【北方交通大学 2001 一、142 分】A线性表采用顺序存储,必须占用一片连续的存储单元。B线性表采用顺序存储,便于进展插入和删除操作。C线性表采用存储,不必占用一片连续的存储单元。D线性表采用存储,便于插入和删除操作。3线性表是具有 n 个 的有限序列n0。【清华大学 1998 一、42 分】A表元素 B字符 C数据元素 D数据项 E信息项 4假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算,那么利用 存储方式最节省时间。【XX 工业大学 2001 二、12 分】A顺序表 B双链表 C带头结点的双循环链表 D单循环链表 5某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,那么采用 存储方式最节省运算时间。【南开大学 2000 一、3】A单链表 B仅有头指针的单循环链表 C双链表 D仅有尾指针的单循环链表 6设一个链表最常用的操作是在末尾插入结点和删除尾结点,那么选用()最节省时间。A.单链表 B.单循环链表 C.带尾指针的单循环链表 D.带头结点的双循环链表【XX 工业大学 2000 一、12 分】7假设某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。那么采用 存储方式最节省运算时间。【理工大学 2000 一、12 分】A单链表 B双链表 C单循环链表 D带头结点的双循环链表 8.静态链表中指针表示的是 .【理工大学 2001 六、22 分】A 内存地址 B数组下标 C下一元素地址 D左、右孩子地址 9.链表不具有的特点是 【XX 大学 1998 一、8(2 分)】A插入、删除不需要移动元素 B可随机访问任一元素 C不必事先估计存储空间 D所需空间与线性长度成正比 10.下面的表达不正确的选项是 【XX 理工大学 1996 一、102 分】A线性表在链式存储时,查找第 i 个元素的时间同 i的值成正比 B.线性表在链式存储时,查找第 i 个元素的时间同 i的值无关 C.线性表在顺序存储时,查找第 i 个元素的时间同 i 的值成正比 D.线性表在顺序存储时,查找第 i 个元素的时间同 i的值无关 11.线性表的表元存储方式有(1)和两种。试指出以下各表中使用的是何种存储方式:表 1 是(2)存储方式;表 2 是(3)存储方式;表 3 是(4)存储方式;表 4 是(5)存储方式。表左的 s 指向起始表元。表元编号 货号 数量 表元间联系 1 618 40 2 2 205 2 3-word.zl-表 1 s 表 2 s 表 3 s 表 4 s 供选择的答案:A.连续 B.单向 C.双向 D.不连接 E.循环 F.树状 G.网状 H.随机 I.顺序 J.顺序循环【XX 海运学院 1995 二、15 分】12.(1)静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i 个元素的时间与 i 无关。(2)静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。(3)静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。以上错误的选项是 【XX理工大学 2000 一、31.5分】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在单链表指针为 p 的结点之后插入指针为 s 的结点,正确的操作是:。Ap-next=s;s-next=p-next;B s-next=p-next;p-next=s;Cp-next=s;p-next=s-next;D p-next=s-next;p-next=s;【XX 大学 2001 五、32 分】25对于一个头指针为 head 的带头结点的单链表,判定该表为空表的条件是 Ahead=NULL Bheadnext=NULL Cheadnext=head Dhead!=NULL【工商大学 2001 一、53 分】26.在双向链表存储构造中,删除 p 所指的结点时须修改指针 。A(p.llink).rlink:=p.rlink (p.rlink).llink:=p.llink;B p.llink:=(p.llink).llink (p.llink).rlink:=p;C(p.rlink).llink:=p p.rlink:=(p.rlink).rlink 便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-D p.rlink:=(p.llink).llink p.llink:=(p.rlink).rlink;【XX 电子科技大学 1998 一、12 分】27.双向链表中有两个指针域,llink和 rlink分别指向前趋及后继,设 p 指向链表中的一个结点,现要求删去 p 所指结点,那么正确的删除是 链中结点数大于 2,p 不是第一个结点 Ap.llink.rlink:=p.llink;p.llink.rlink:=p.rlink;dispose(p);Bdispose(p);p.llink.rlink:=p.llink;p.llink,rlink:=p.rlink;Cp.llink.rlink:=p.llink;dispose(p);p.llink.rlink:=p.rlink;D以上 A,B,C 都不对。【XX 理工大学 1997 一、12 分】二、判断 1.链表中的头结点仅起到标识的作用。()【XX 航空航天大学 1997 一、11 分】2.顺序存储构造的主要缺点是不利于插入或删除操作。()【XX 航空航天大学 1997 一、21 分】3线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。()【邮电大学 1998 一、22 分】4顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。()【邮电大学 2002 一、21 分】5.对任何数据构造链式存储构造一定优于顺序存储构造。()【XX 航空航天大学 1997 一、31 分】6顺序存储方式只能用于存储线性构造。()【中科院软件所 1999 六、1-2 2 分】【XX 海运学院 1997 一、11 分】7集合与线性表的区别在于是否按关键字排序。()【XX 海事大学 2001 一、5(1 分)】8.所谓静态链表就是一直不发生变化的链表。()【XX 工业大学 2000 二、11 分】9.线性表的特点是每个元素都有一个前驱和一个后继。()【XX 工业大学 2001 二、11分】10.取线性表的第 i个元素的时间同 i的大小有关.()【XX 理工大学 1997 二、92 分】11.循环链表不是线性表.()【XX 理工大学 1998 二、12 分】12.线性表只能用顺序存储构造实现。()【XX 大学 2001 四、21 分】13.线性表就是顺序存储的表。()【XX 大学 2002 一、11 分】14为了很方便的插入和删除数据,可以使用双向链表存放数据。()【XX 海运学院 1995 一、11 分】【XX 海运学院 1997 一、21 分】15.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。()【XX 海运学院 1996 一、11 分】【XX 海运学院 1999 一、11 分】16.链表是采用链式存储构造的线性表,进展插入、删除操作时,在链表中比在顺序存储构造中效率高。()【XX 海运学院 1998 一、21 分】三、填空 1当线性表的元素总数根本稳定,且很少进展插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_存储构造。【北方交通大学 2001 二、4】2线性表 L=a1,a2,an用数组表示,假定删除表中任一元素的概率一样,那么删除一个元素平均需要移动元素的个数是_。【北方交通大学 2001 二、9】3 设单链表的结点构造为(data,next),next 为指针域,指针 px 指向单链表中 data为 x 的结点,指针 py 指向 data 为 y 的新结点,假设将结点 y 插入结点 x 之后,那么需要执行以下语便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-句:_;_;【华中理工大学 2000 一、42 分】4在一个长度为 n 的顺序表中第 i 个元素1=i0 DO BEGIN (2);(3);(4);(5);readk END;q.next:=NIL;END;【师 X 大学 1999 三】21.已给如下关于单链表的类型说明:TYPE list=node;node=RECORD data:integer;next:list;END;以下程序采用链表合并的方法,将两个已排序的单链表合并成一个链表而不改变其排序性升序,这里两链表的头指针分别为 p 和 q.PROCEDURE mergelink(VAR p,q:list):VAR h,r:list;BEGIN 1_ h.next:=NIL;r:=h;WHILE(pNIL)AND(qNIL)DO IF(p.data=q.data)THEN BEGIN 2_;r:=p;p:=p.next;END ELSE BEGIN 3_;r:=q;q:=q.next;END;IF(p=NIL)THEN r.next:=q;4_;p:=h.next;dispose(h);END;【XX 大学 2000 三、2 8 分】22假设链表 p 和链表 q 中的结点值都是整数,且按结点值的递增次序起来的带表头结点的环形链表。各链表的表头结点的值为 max,且链表中其他结点的值都小于 max,在程序中取max 为 9999。在各个链表中,每个结点的值各不一样,但链表 p 和链表 q 可能有值一样的结点表头结点除外。下面的程序将链表 q 合并到链表 p 中,使得合并后的链表是按结点值递增次序起来的带表头结点的环形链表,且链表中各个结点的值各不一样。请在划线处填上适当内容,每个框只填一个语句或一个表达式,链表的结点类型如下 便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-TYPE nodeptr=nodetype;nodetype=RECORD data:integer;link:nodeptr;END;CONST max=9999;PROCEDURE merge(VAR p:nodeptr;q:nodeptr);VAR r,s:nodeptr;BEGIN r:=p;WHILE (A)_ DO BEGIN WHILE r.link.dataq.link.data THEN BEGIN s:=(C)_;(D)_:=s.link;s.link:=(E)_;(F)_ _:=s;(G)_;END ELSE BEGIN (H)_;s:=q.link;(I)_;dispose(s)END END;dispose(q)END;【复旦大学 1997 五18分】23PROC ins_linklist(la:linkisttp;i:integer;b:elemtp);la 为指向带头结点的单链表的头指针,本算法在表中第 i个元素之前插入元素 b p:=(1);j:=(2);指针初始化,j为计数器 WHILE(pNIL)AND (3)DO p:=(4);j:=j+1;寻找第 i-1 个结点 IF(p=NIL)OR (5)THEN error(No this pos ition)ELSE new(s);s.data:=b;s.next:=p.next;p.next:=s;ENDP;ins-linklist【燕山大学 1998 四、115分】24.双链表中结点的类型定义为:TYPE dpointer=list;list=RECORD data:integer;left,right:dpointer;END;如下过程将在双链表第 i个结点i=0之后插入一个元素为 x 的结点,请在答案栏给出题目中_处应填入的语句或表达式,使之可以实现上述功能。PROCEDURE insert(VAR head:dpointer;i,x:integer);VAR s,p:dpointer;j:integer;BEGIN new(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(pNIL)AND(ji)DO BEGIN j:=j+1;(3)_ END;IF pNIL THEN IF p.right=NIL 便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-THEN BEGIN p.right:=s;s.right:=NIL;(4)_END ELSE BEGIN s.right:=p.right;(5)_;p.right:=s;(6)END ELSE writeln(can not find node!)END END;【XX 大学 2002 二 12分】25阅读以下算法,填充空格,使其成为完整的算法。其功能是在一个非递减的顺序存储线性表中,删除所有值相等的多余元素。CONST maxlen=30 TYPE sqlisttp=RECORD elem:ARRAY1.maxlen OF integer;last:0.maxlen END;PROC exam21(VAR L:sqlisttp);j:=1;i:=2;WHILE(1)_ DO IF L.elemiL.elemj THEN (2)_;(3)_;i:=i+1 (4)_;ENDP;【同济大学 2000 二、1(10分)】26在此题的程序中,函数过程 Create_link_list(n)建立一个具有 n 个结点的环形链表;程序过程 josephus(n,i,m)对由Create_link_list(n)所建立的具有n个结点的环形链表按一定的次序逐个输出并删除链表中的所有结点,参数 n(n0)指明环形链表的结点个数,参数 i(1=i0)是步长,指明从起始结点或前次被删除并输出的结点之后的第 m个结点作为本次被输出并删除的结点。例如,对于以下图中具有 6 个结点的环形链表,在调用 josephus(6,3,2)后,将输出 5,1,3,6,4,2 请在横线处填上适当内容,每空只填一个语句。TYPE nodeptr=nodetype;nodetype=RECORD data:intrger;link:nodeptr END;VAR n,i,m:integer;FUNCTION Create_link_list(n:integer):nodeptr;VAR head,p,q:nodeptr;i:integer;BEGIN head:=NIL;IF n0 THEN BEGIN new(head);p:=head;便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-FOR i:=1 TO n-1 DO BEGIN p.data:=i;new(q);(A)_;(B)_ END;p.data:=n;(C)_;END;Creat_link_list:=head END;PROCEDURE josephus(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-1 END;(D)_;WHILE jn DO BEGIN FOR i:=1 TO m-1 DO p:=p.link;(E)_;write(q.data:8);(F)_;dispose(q);j:=j+1 END END;【复旦大学 1997 四12分】27 对于给定的线性链表 head,下面的程序过程实现了按结点值非降次序输出链表中的所有结点,在每次输出一个结点时,就把刚输出的结点从链表中删去。请在划线处填上适当的内容,使之成为一个完整的程序过程,每个空框只填一个语句。TYPE nodeptr=nodetype;nodetype=RECORD data:integer;link:nodeptr END;VAR head:nodeptr;PROCEDURE sort_output_delete(head:nodeptr);VAR p,q,r,s:nodeptr;BEGIN WHILE head NIL DO BEGIN p:=NIL;q:=head;r:=q;s:=q.link;WHILE s NIL DO BEGIN IF s.data q.data THEN BEGIN (1)_;(2)_ END;r:=s;(3)_ END;write(q.data:5);IF p=NIL THEN (4)_ ELSE (5)_;dispose(q);END;writeln END;【复旦大学 1996 七20分 1995 一12分与此题相似】28下面函数的功能是在一个按访问频度不增有序的,带头结点的双向链环上检索关键值为x 的结点,对该结点访问频度计数,并维护该链环有序。假设未找到,那么插入该结点。所有结点的频度域初值在建表时都为零。请将程序中四处空缺补写完整。TYPE 便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-link=node node=RECORD key:char;freq:integer;pre,next:link;END;VAR l:link;FUNCTION loc(l:link;x:char):link;VAR p,q:link;BEGIN p:=l.next;1_;WHILE p.keyx DO p:=p.next;IF p=l THEN new(q);q.key:=x;q.freq:=0 ELSE 找到 p.freq:=p.freq+1;q:=p;2_;WHILE q.freqp.pre.freq DO p:=p.pre;IF pq THEN 3_ ;IF 4_ THEN q.next:=p,q.pre;=p.pre;p.pre.next:=q;p.pre:=q return(q);END;【工业大学 1999 五(12 分)】29循环链表 a 和 b 的结点值为字母,其中 a 表非递减有序,下面的程序欲构造一个递增有序的循环链表 c,其中结点的值为同时在 a,b 两链表中出现的字母,且 c 中字母不重复,请补上程序中空缺的局部,并估计算法的时间复杂度。设 a,b 的结点数分别为 m,n TYPE link=node;node=RECORD key:char;next:link END;PROC jj(a,b:link;VAR c:link);VAR p,q,r,s:link;BEGIN new(c);c.next:=c;q:=a;p:=a.next;WHILE pa DO 1_;WHILE p.key=p.next.key DO q:=p;p=p.next;跳过一样字母 r:=b.next;2_;WHILE r.key p.key DO r:=r.next;IF rb THEN s:=p;q.next:=p.next;3 ;s.next:=c.next;c.next:=s;c:=s ELSE q:=p;p:=p.next ;c:=c.next;END;算法时间复杂度为 O4_ 【工业大学 2000 四(15 分)】30.以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。void reverse(pointer h)便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-/*h 为附加头结点指针;类型 pointer 同算法设计第 3 题*/pointer p,q;p=h-next;h-next=NULL;while(1)_)q=p;p=p-next;q-next=h-next;h-next=(2)_;【西南交通大学 2000 一、9】31.下面是用 c 语言编写的对不带头结点的单链表进展就地逆置的算法,该算法用 L 返回逆置后的链表的头指针,试在空缺处填入适当的语句。void reverselinklist&L p=null;q=L;whileq!=null (1);q-next=p;p=q;(2)_ ;(3)_;【理工大学 2001 九、1 6 分】32下面程序段是逆转单向循环链表的方法,p0 是原链表头指针,逆转后链表头指针仍为p0。可以根据需要增加标识符 p:=p0;q0:=NIL;WHILE 1_ DO BEGIN 2_;3_;4_;5_ END;p.next:=q0;p0.next:=p;p0:=p;【中国人民大学 2000 二、14 分】33一个无头结点的线性链表(不循环)有两个域。数据域 data,指针域 next,链首 head,下面算法用 read(num)读入数据,当 num 小于 0 时,输入完毕。建立一个数据以递增序组成的链表。PROC insert(head,x);在链首为 head 的表中按递增序插入 x new(r);r.data:=x;IF head=NIL THEN head:=(1)_;r.next:=(2)_ ELSE IF(3)_ THEN r .next:=head;head:=r ELSE p:=head;WHILE(4)_ AND (p .next NIL)DOq:=p;(5)_ ;IF(6)_ THEN q .next:=(7)_;r.next:=(8)_;ELSE p .next:=(9)_;r .next:=(10)_;ENDP;PROC creat(head);head:=(11)_;read(num);WHILE num0 DO insert(head,num);read(num)ENDP;【XX 理工大学 1999 三、411分】34.一元稀疏多项式以循环单链表按降幂排列,结点有三个域,系数域 coef,指数域 exp便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-和指针域 next;现对链表求一阶导数,链表的头指针为 ha,头结点的 exp 域为 1。derivative(ha)q=ha;pa=ha-next;while(1)_)if(2)_)(3)_);free(pa);pa=(4)_);else pa-coef(5)_);pa-exp(6)_);q=(7)_);pa=(8)_);【XX 理工大学 2000 三、310分】35.下面是删除单链表 L 中最大元素所在结点的类 PASCAL 语言算法,请在横线填上内容,完成其功能。TYPE pointer=node;node=RECORD data:integer;next:pointer END;PROCEDURE delmax(L:pointer);VAR p,q,r:pointer;m:integer;BEGIN r:=L;p:=L.next;IF pNIL THEN m:=p.data;(1)_;p:=p.next;WHILE pNIL DO IF(2)_THEN (3)_;m:=p.data;(4)_;p:=p.next;q:=r.next;(5)_;dispose(q);END;【科技大学 1998 二】36对单链表中元素按插入方法排序的 C 语言描述算法如下,其中 L 为链表头结点指针。请填充算法中标出的空白处,完成其功能。typedef struct node int data;struct node*next;linknode,*link;void Insertsort(link L)link p,q,r,u;p=L-next;(1)_;while(2)_)r=L;q=L-next;while(3)_&q-datadata)r=q;q=q-next;u=p-next;(4)_;(5)_;p=u;【科技大学 2001 二 10分】37下面是一个求两个集合 A 和 B 之差 C=A-B的程序,即当且仅当 e 是 A 的一个元素,但不是 B 中的一个元素时,e 才是 C 中的一个元素。集合用有序链表实现,初始时,A,B 集便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-合中的元素按递增排列,C 为空;操作完成后 A,B 保持不变,C 中元素按递增排列。下面的函数 append(last,e)是把值为 e 的新结点在由指针 last 指向的结点的后面,并返回新结点的地址;函数 difference(A,B)实现集合运算 A-B,并返回表示结果集合 C 的链表的首结点的地址。在执行 A-B 运算之前,用于表示结果集合的链表首先增加一个附加的表头结点,以便新结点的添加,当 A-B运算执行完毕,再删除并释放表示结果集合的链表的表头结点。程序(a)编者略去这个 PASCAL 程序 程序b typedef struct node int element;struct node*link;NODE;NODE *A,*B,*C;NODE *append(NODE*last,int e)last-link=(NODE*)malloc(sizeof(NODE);last-link-element=e;return(last-link);NODE*difference(NODE*A,NODE*B)NODE*C,*last;C=last=(NODE*)malloc(sizeof(NODE);while(1)_ if(A-elementelement)last=append(last,A-element);A=A-link;else if(2)_ A=A-link;B=B-link;ELSE (3)_;while(4)_ last=append(last,A-element);A=A-link;(5)_;last=C;C=C-link;free(last);return(C);/*call form:C=difference(A,B);*/【XX 大学 2000 一、4 10分】四 应用题 1线性表有两种存储构造:一是顺序表,二是链表。试问:1如果有 n 个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。在此情况下,应选用哪种存储构造?为什么?2假设线性表的总数根本稳定,且很少进展插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储构造?为什么?【XX 电子科技大学 1999软件 二、1 5 分】2线性表的顺序存储构造具有三个弱点:其一,在作插入或删除操作时,需移动大量元素;其二,由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;其三,表的容量难以扩大。线性表的链式存储构造是否一定都能够克制上述三个弱点,试讨论之。【XX 大学 2000 二、5】3假设较频繁地对一个线性表进展插入和删除操作,该线性表宜采用何种存储构造?为什么?【航空航天大学 1998 一、24 分】4线性构造包括_、_、_和_。线性表的存储构造分成_和_。请用类 PASCL 语言描述这两种构造。【华北计算机系统工程研究所 1999一、2 10分】便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-5线性表a1,a2,an用顺序映射表示时,ai和 ai+11=in 的物理位置相邻吗?表示时呢?【东南大学 1996 一、1 5 分】6.说明在线性表的链式存储构造中,头指针与头结点之间的根本区别;头结点与首元结点的关系。【XX 大学 2000 五、1 14%/3 分】7.试述头结点,首元结点,头指针这三个概念的区别.【XX 交通科技大学 1996 二、2(3 分)】【XX 电子科技大学 2001计应用 二、15 分】8.有如下定义的静态链表:TYPE ponent=RECORD data:elemtp;next:0.maxsize END VAR stalist:ARRAY0.maxsize OF ponent;以及三个指针:av 指向头结点,p 指向当前结点,pre 指向前驱结点,现要求修改静态链表中next 域中的内容,使得该静态链表有双向链表的功能,从当前结点 p 既能往后查找,也能往前查找:1定义 next 域中的内容。(用老的 next 域中的值表示);2如何得到当前结点 p 的前驱pre的前驱,给出计算式;3如何得到 p 的后继,给出计算式;【中科院计算所 2000 四10分】9.在单链表和双向链表中,能否从当前结点出发访问到任何一个结点?【

    注意事项

    本文(数据结构线性表练习题试卷及答案_中学教育-试题.pdf)为本站会员(c****3)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开