数据结构【线性表】复习题_以下关于线性表的描述,不正确的是() a 线必表简称表,是0个或多个元素的有穷序列 b-程序员宅基地

技术标签: 算法  c  null  n2  存储  【大学课程之数据结构】  数据结构  

第2章    线性表

一  选择题

1.下述哪一条是顺序存储结构的优点?(  A )

A.存储密度大  B.插入运算方便  C.删除运算方便  D.可方便地用于各种逻辑结构的存储表示

2.下面关于线性表的叙述中,错误的是哪一个?(  B  )

A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链接存储,不必占用一片连续的存储单元。

D.线性表采用链接存储,便于插入和删除操作。

3.线性表是具有n个( C )的有限序列(n>0)。

A.表元素      B.字符      C.数据元素     D.数据项         E.信息项

4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用(  A  )存储方式最节省时间。

A.顺序表      B.双链表        C.带头结点的双循环链表     D.单循环链表

5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(  D  )存储方式最节省运算时间。

A.单链表     B.仅有头指针的单循环链表     C.双链表       D.仅有尾指针的单循环链表

6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(  D  )最节省时间。

A. 单链表   B.单循环链表   C. 带尾指针的单循环链表   D.带头结点的双循环链表

7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用(  D  )存储方式最节省运算时间。

A.单链表      B.双链表     C.单循环链表     D.带头结点的双循环链表

8. 静态链表中指针表示的是(  BC  ).

A. 内存地址       B.数组下标     C.下一元素地址      D.左、右孩子地址

9. 链表不具有的特点是(  C  )

A.插入、删除不需要移动元素  B.可随机访问任一元素

 C.不必事先估计存储空间  D.所需空间与线性长度成正比

10. 下面的叙述不正确的是( BC   )

A.线性表在链式存储时,查找第i个元素的时间同i的值成正比

    B. 线性表在链式存储时,查找第i个元素的时间同i的值无关

C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比

D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关

11. 线性表的表元存储方式有(顺序)和链接两种。试指出下列各表中使用的是何种存储方式:表1是(顺序)存储方式;表2是(循环链接)存储方式;表3是(单向链接)存储方式;表4是(双向链接)存储方式。表左的s指向起始表元。                                                                    

表元编号 货号 数量 表元间联系
1 618· 40 2
2 205 2 3
3 103 15 4
4 501 20 5
5 781 17 6
6 901 24 0

表1

s→
                                              

表元编号 货号 数量 表元间联系
1 618· 40 5
2 205 2 1
3 103 15 4
4 501 20 2
5 781 17 6
6 901 24 3

表2

 s→
                                       

表元编号 货号 数量 表元间联系
1 618· 40 5
2 205 2 1
3 103 15 6
4 501 20 0
5 781 17 4
6 901 24 3

表3

 s—>
                                     

表元编号 货号 数量

表元间联系

1         2

1 618· 40 5         2
2 205 2 1         0
3 103 15 4         6
4 501 20 0         3
5 781 17 6          1
6 901 24 3          5

表4

s→
   供选择的答案:

A.连续  B.单向链接  C.双向链接   D.不连接  E.循环链接

F.树状   G.网状   H.随机  I.顺序  J.顺序循环

12.(1) 静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关。

   (2) 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。

   (3) 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。

以上错误的是(  B  )

 A.(1),(2)      B.(1)       C.(1),(2),(3)      D.(2)

13. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(  C  )(1<=i<=n+1)。

A. O(0)      B. O(1)         C. O(n)          D. O(n2)

14. 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为(  C  )。

A.O(n)  O(n)     B. O(n)  O(1)       C. O(1)  O(n)        D. O(1) O(1)

15.线性表( a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为( C   )

A.O(i)     B.O(1)      C.O(n)       D.O(i-1)

16.非空的循环单链表head的尾结点p满足( A   )。

A.p.link=head       B.p.link=NIL         C.p=NIL     D.p= head

17.循环链表H的尾结点P的特点是(  A  )。

    A.P.NEXT=H         B.P.NEXT= H.NEXT        C.P=H      D.P=H.NEXT

18.在一个以 h 为头的单循环链中,p 指针指向链尾的条件是(A)

 A. p.next=h    B. p.next=NIL  C. p^.next.^next=h   D. p^.data=-1

二、判断

1. 链表中的头结点仅起到标识的作用。(  × )

2. 顺序存储结构的主要缺点是不利于插入或删除操作。(√ )

3.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。(  √  )

4.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。(  × )

5. 对任何数据结构链式存储结构一定优于顺序存储结构。(× )

 6.顺序存储方式只能用于存储线性结构。(  ×  )

7.集合与线性表的区别在于是否按关键字排序。( ×  )

8. 所谓静态链表就是一直不发生变化的链表。( ×  )

9. 线性表的特点是每个元素都有一个前驱和一个后继。( ×  )

10. 取线性表的第i个元素的时间同i的大小有关. (  ×  )

11. 循环链表不是线性表. (  ×  )

12. 线性表只能用顺序存储结构实现。(  × )

13. 线性表就是顺序存储的表。(  ×  )

14.为了很方便的插入和删除数据,可以使用双向链表存放数据。(  √  )

15. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(  ×  )

16. 链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。 (  √ ) 

 

三、填空

1.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用____顺序___存储结构。

2.线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是____n-1/2____。

3.设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点 , 若将结点y插入结点x之后,则需要执行以下语句:___py->next=px->next___; ____px->next=py__;

4.在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动____n-i+1____个元素。

5.在单链表中设置头结点的作用是___主要是使插入和删除等操作统一,在第一个元素之前插入元素和删除第一个结点不必另作判断。另外,不论链表是否为空,链表指针不变。_____。

6.对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为___o(1)_____,在给定值为x的结点后插入一个新结点的时间复杂度为___O(n)_____。

7.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成___单链表_____和___多重链表____;而又根据指针的连接方式,链表又可分成____动态链表____和___静态链表_____。

8. 在双向循环链表中,向p所指的结点之后插入指针f所指的结点,其操作是____f->next=p->next;___、___f->next=p;____、___p->next->prior=f;____、____p->next=f;____。

10.链接存储的特点是利用____指针____来表示数据元素之间的逻辑关系。

11.顺序存储结构是通过____物理上相邻____表示元素之间的关系的;链式存储结构是通过_____指针___表示元素之间的关系的。

12. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共 ___4___个,单链表为____2___个。

13. 循环单链表的最大优点是:____从任一结点出发都可访问到链表中每一个元素____。

14. 已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:___q=p->next; p->next=q->next;delete q;_____

15. 带头结点的双循环链表L中只有一个元素结点的条件是:___ L->next->next==L  或者L->next->prior==L 或者L->prior->next==L或者L->prior->prior==L_____

16. 在单链表L中,指针p所指结点有后继结点的条件是:__ p->next!=null  

17.带头结点的双循环链表L为空表的条件是:____ L->next==L &&L->prior==L ____。

18. 在单链表p结点之后插入s结点的操作是:__ s->next=p->next;p->next=s _____。

 

四  应用题

1.线性表有两种存储结构:一是顺序表,二是链表。试问:

(1)如果有 n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。在此情况下,应选用哪种存储结构? 为什么?

答:选链式存储结构,它可动态申请内存空间,不受长度(即表中元素个数)的影响,插入、删除复杂度为O(1)

(2)若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么?

    答:选取顺序结构,顺序表可以随机存取,时间复杂度为O(1)。

 

2.线性表的顺序存储结构具有三个弱点:其一,在作插入或删除操作时,需移动大量元素;其二,由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;其三,表的容量难以扩充。线性表的链式存储结构是否一定都能够克服上述三个弱点,试讨论之。

答:链式存储结构一般说克服了顺序存储结构的三个弱点。首先,插入、删除不需移动元素,只修改指针,时间复杂度为O(1);其次,不需要预先分配空间,可根据需要动态申请空间;其三,表容量只受可用内存空间的限制。其缺点是因为指针增加了空间开销,当空间不允许时,就不能克服顺序存储的缺点。

 

3.若较频繁地对一个线性表进行插入和删除操作,该线性表宜采用何种存储结构?为什么?

答:采用链式存储结构,它根据实际需要申请内存空间,而当不需要时又可将不用结点空间返还给系统。在链式存储结构中插入和删除操作不需要移动元素。

 

4.线性结构包括___线性表___、______、___队列____和_______。线性表的存储结构分成___顺序存储结构___和____链式存储结构__。

 

5.线性表(a1,a2,…,an)用顺序映射表示时,ai和ai+1(1<=i<n〉的物理位置相邻吗?链接表示时呢?

答:顺序映射时,ai与ai+1的物理位置相邻;链表表示时ai与ai+1的物理位置不要求相邻。

 

6. 说明在线性表的链式存储结构中,头指针与头结点之间的根本区别;头结点与首元结点的关系。

答:在线性表的链式存储结构中,头指针指链表的指针,若链表有头结点则是链表的头结点的指针,头指针具有标识作用,故常用头指针冠以链表的名字。头结点是为了操作的统一、方便而设立的,放在第一元素结点之前,其数据域一般无意义(当然有些情况下也可存放链表的长度、用做监视哨等等),有头结点后,对在第一元素结点前插入结点和删除第一结点,其操作与对其它结点的操作统一了。而且无论链表是否为空,头指针均不为空。首元结点也就是第一元素结点,它是头结点后边的第一个结点。

 

7. 在单链表和双向链表中,能否从当前结点出发访问到任何一个结点?

答:在单链表中不能从当前结点(若当前结点不是第一结点)出发访问到任何一个结点,链表只能从头指针开始,访问到链表中每个结点。在双链表中求前驱和后继都容易,从当前结点向前到第一结点,向后到最后结点,可以访问到任何一个结点。

 

8. 如何通过改链的方法,把一个单向链表变成一个与原来链接方向相反的单向链表?

答:链表逆置问题。设该链表带头结点,将头结点摘下,并将其指针域置空。然后从第一元素结点开始,直到最后一个结点为止,依次前插入头结点的后面,则实现了链表的逆置。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wwj_748/article/details/7089136

智能推荐

【Maxent物种分布模型】气候变化对响尾蛇地理分布的影响-程序员宅基地

文章浏览阅读1.2k次。Maxent物种分布模型_物种分布模型

探索Lua5.2内部实现:Garbage Collection(1) 原理_lua incremental garbage collection-程序员宅基地

文章浏览阅读139次。以下内容转载自https://blog.csdn.net/yuanlin2008/article/details/8558103Lua5.2采用垃圾回收机制对所有的lua对象(GCObject)进行管理。Lua虚拟机会定期运行GC,释放掉已经不再被被引用到的lua对象。基本算法基本的垃圾回收算法被称为"mark-and-sweep"算法。算法本身其实很简单。首先,系统管理着所有已经创建了的对象。每个对象都有对其他对象的引用。root集合代表着已知的系统级别的对象引用。我们从root集合出发,._lua incremental garbage collection

浅谈WPF页间导航-程序员宅基地

文章浏览阅读106次。浅谈WPF页间导航 使用导航的目的是从一个页面进入到另一个页面。无论是预先决定的线性顺序(向导)还是基于层次的用户驱动程序(大部分网站的形式),或者动态生成的路径,主要有3种方法实现:调用Navigate方法,使用Hyperlinks,使用导航日志。 Navigate方法: 导航容器支持Navigate方法,它允许改变当前页,可以用目标页的示例:..._"wpf navigated=\"mainframe_navigated"

猫头虎分享已解决Bug || Error: ImagePullBackOff (K8s) ‍-程序员宅基地

文章浏览阅读928次,点赞19次,收藏21次。嘿,云原生小伙伴们,猫头虎博主在此!今天我们要聊聊Kubernetes(K8s)中一个常见但头疼的问题 ——错误。这个小怪兽常常在我们尝试部署容器时悄悄出现,让我们的应用启动失败。在这篇博客里,我会用我那猫头虎般敏锐的眼光,深入挖掘这个问题的根源,展示如何一步步地解决它,并提供避免未来类似问题的策略。准备好了吗?让我们开始吧!问题原因解决步骤网络问题检查网络连接认证错误核实凭证信息镜像名/标签错误确认镜像信息资源限制检查资源配额处理。_error: imagepullbackoff

【贪心法求解最小生成树之Kruskal算法详细分析】---Greedy Algorithm for MST_greedy mst demo-程序员宅基地

文章浏览阅读1.4k次。初衷:最近在看算法相关的东西,看到贪心法解决mst的问题,可惜树上讲解的不是很清新,到网上找了很多资料讲解的也不透彻只是随便带过就草草了事、这几天抽空看了下,总算基本思路理清楚了主要还是得感谢强大的google,帮我找到一个很好的英文资料。(下面有链接,有兴趣的同学可以看看)理顺了思路,就和大家分享下~希望对学习贪心法的同学会有所帮助。 这篇博客的主要内容是贪心法求解Min_greedy mst demo

存储器讲述工作原理及作用_电阻式随机存取存储器原理-程序员宅基地

文章浏览阅读3.1w次,点赞12次,收藏64次。转载路径  介绍  存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存_电阻式随机存取存储器原理

随便推点

Bugreport原理_failed to get bugreportz version, which is only av-程序员宅基地

文章浏览阅读2.7k次。文章目录1. bugreport2. bugreportz3. adb bugreport4. dumpstate1. bugreport2. bugreportz3. adb bugreport4. dumpstate1. bugreport编译到/system/bin/bugreport@frameworks/native/cmds/bugreport/Android.bpcc_binary { name: "bugreport", srcs: ["bugreport.cpp"]_failed to get bugreportz version, which is only available on devices running

smartfroms word编辑_word如何改变smartart word如何编辑smartart-程序员宅基地

文章浏览阅读1.3k次。word怎样修改smartart请在“插入”选项中的“插图”中SmartArt图形中,根据自己的任务需要,选择“图形类型”,如列表、流程、循环、关系等。详见附图:如何在Word2010中更改SmartArt图形几何形状在Word2010文档中设置SmartArt图形样式的步骤如下所述:第1步,打开Word2010文档窗口,选中SmartArt图形。第2步,打开“SmartArt工具/设计”功能区,..._smartart样式文档的最佳匹配对象

像学历史课本一样学习Perl_像学教材一样学习-程序员宅基地

文章浏览阅读351次。转自http://www.cnblogs.com/baiyanhuang/archive/2010/05/16/1736436.html第一次接触Perl,还是2008年10月份的时候,当时因为项目重构,需要进行大量的文本操作,于是便拾起了以“文本操作为己任”的Perl语言。当然,带我入门的还是那本赫赫有名的The Llama Book, 即 第四版。 然而,由于主要是为了使用,所以只是快餐式的学习,并没有系统的去了解Perl,这几年_像学教材一样学习

数据预处理_数据预处理csdn-程序员宅基地

文章浏览阅读406次,点赞7次,收藏9次。数据转换:数据转换包括对数据进行平滑、聚合、标准化和归一化等操作,以便更好地适应模型的要求。平滑可以通过滤波或函数拟合来实现,聚合可以将数据按照一定的规则进行合并,标准化可以将数据按照均值和标准差进行缩放,归一化可以将数据缩放到固定的范围内。它是数据分析的关键步骤之一,可以提高数据质量、减少错误,以及为后续的模型训练和分析提供更准确、可靠的数据。在数据预处理中,可以将类别型数据进行编码,例如使用独热编码、标签编码或频率编码等方法,将其转换为数值型数据。_数据预处理csdn

Android 百度地图开发(三)--- 实现比例尺功能和替换自带的缩放组件_安卓百度地图比例尺-程序员宅基地

文章浏览阅读740次。转载请注明出处:http://blog.csdn.net/xiaanming/article/details/11821523貌似有些天没有写博客了,前段时间在忙找工作的事,面试了几家公司,表示反响还不错,过完国庆节去新公司报道,期待新的公司,新的同事,而且新公司还有很多女孩子,哈哈,我可是一年多没和女孩子一起工作过了,之前的公司全是男的,你没听错,真的全是男的,我还以为我自己不会在爱了,_安卓百度地图比例尺

基于Matlab分析分期付款陷阱_利率计算matlab代码-程序员宅基地

文章浏览阅读179次。通过Matlab结算可以看出,在费率为0.5%的情况下,但每期实际贷款费率为0.85%,而年利率竟高达10.2%。一般的银行存款年利率在1%到3%之间。_利率计算matlab代码

推荐文章

热门文章

相关标签