数据结构线性表练习题试卷及答案_中学教育-试题.pdf
《数据结构线性表练习题试卷及答案_中学教育-试题.pdf》由会员分享,可在线阅读,更多相关《数据结构线性表练习题试卷及答案_中学教育-试题.pdf(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-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
2、数据项 E信息项 4假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算,那么利用 存储方式最节省时间。【XX 工业大学 2001 二、12 分】A顺序表 B双链表 C带头结点的双循环链表 D单循环链表 5某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,那么采用 存储方式最节省运算时间。【南开大学 2000 一、3】A单链表 B仅有头指针的单循环链表 C双链表 D仅有尾指针的单循环链表 6设一个链表最常用的操作是在末尾插入结点和删除尾结点,那么选用()最节省时间。A.单链表 B.单循环链表 C.带尾指针的单循环链表 D.带头结点的双循环链表【XX
3、工业大学 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
4、 分】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
5、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 个位置插
6、入一个新元素的算法的时间复杂度为 (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-
7、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.llin
8、k).rlink:=p;C(p.rlink).llink:=p p.rlink:=(p.rlink).rlink 便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点
9、和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-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);Bdis
10、pose(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顺序
11、存储方式插入和删除时效率太低,因此它不如链式存储方式好。()【邮电大学 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分】
12、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
13、 一、11 分】16.链表是采用链式存储构造的线性表,进展插入、删除操作时,在链表中比在顺序存储构造中效率高。()【XX 海运学院 1998 一、21 分】三、填空 1当线性表的元素总数根本稳定,且很少进展插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_存储构造。【北方交通大学 2001 二、4】2线性表 L=a1,a2,an用数组表示,假定删除表中任一元素的概率一样,那么删除一个元素平均需要移动元素的个数是_。【北方交通大学 2001 二、9】3 设单链表的结点构造为(data,next),next 为指针域,指针 px 指向单链表中 data为 x 的结点,指针 py 指向
14、 data 为 y 的新结点,假设将结点 y 插入结点 x 之后,那么需要执行以下语便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间
15、单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-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;以下程序采用链表合并的方法,将两个已排序的单链表合并成一个链表而不改变其排序性升序,这里两链表的头指针分别为
16、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 中的结点值都是整数,且按结点值的递增次序起来的带表头结点
17、的环形链表。各链表的表头结点的值为 max,且链表中其他结点的值都小于 max,在程序中取max 为 9999。在各个链表中,每个结点的值各不一样,但链表 p 和链表 q 可能有值一样的结点表头结点除外。下面的程序将链表 q 合并到链表 p 中,使得合并后的链表是按结点值递增次序起来的带表头结点的环形链表,且链表中各个结点的值各不一样。请在划线处填上适当内容,每个框只填一个语句或一个表达式,链表的结点类型如下 便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操
18、作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-word.zl-TYPE nodeptr=nodetype;nodetype=RECORD data:integer;link:nodeptr;END;CONST max=999
19、9;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:int
20、eger;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
21、 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)_
22、;在双链表中查找第 i 个结点,由 p 所指向 WHILE(pNIL)AND(ji)DO BEGIN j:=j+1;(3)_ END;IF pNIL THEN IF p.right=NIL 便删除运算方便可方便地用于各种逻辑构造的存储表示下面关于线性表的表达中错误的选项是哪一个北方交通大学一分线性表采用顺序存储必须占用一片连续的存储单元线性表采用顺序存储便于进展插入和删除操作线性表采用存储素字符数据元素数据项信息项假设某线性表最常用的操作是存取任一指定序号的元素和在最后进展插入和删除运算那么利用存储方式最节省时间工业大学二分顺序表双链表带头结点的双循环链表单循环链表某线性表中最常用的操作指针的
23、单循环链表双链表仅有尾指针的单循环链表设一个链表最常用的操作是在末尾插入结点和删除尾结点那么选用最节省时间单链表单循环链表带尾指针的单循环链表带头结点的双循环链表工业大学一分假设某表最常用的操作是-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阅读以下算法,填充空格,使其成为完整的算法。其功能是在一个非递减的顺序存储线性
24、表中,删除所有值相等的多余元素。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)对由Crea
25、te_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;FUNCT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 线性 练习题 试卷 答案 中学 教育 试题
限制150内