第2章 线性结构

news/2024/7/7 4:56:03

一、选择题

1. 顺序存储结构的优点是( A  )

A.存储密度大       B.插入运算方便  

C.删除运算方便     D.可用于各种逻辑结构的存储表示

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

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

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

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

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

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

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

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

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

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

A.单链表         B.仅有头指针的单循环链表     

C.双向链表       D.仅有尾指针的单循环链表

6. 对于一个头指针为head的带头结点的单链表,判定该链表为空表的条件是(B    )。

A.head==NULL          B.head→next==NULL

C.head→next==head      D.head!=NULL

7. 链表不具有的特点是(  B )

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

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

8. 下面的叙述正确的是(  A  )

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

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

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

D. 线性表在顺序存储时,查找第i个元素的时间同该元素的大小有关

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

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

10.非空的循环单链表head的指向尾结点的指针变量p满足(  A  )。

A.p->link=head       B.p->link=NULL         C.p=NULL     D.p=head

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

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

  1. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( B   )。

A.p->next=s;   s->next=p->next;      B. s->next=p->next;   p->next=s;

C.p->next=s;   p->next=s->next;      D. p->next=s->next;   p->next=s;

13. 利用双向链表作线性表的存储结构的优点是(A    )。

A. 便于插入和删除操作     B. 提高按关系查找数据元素的速度

C. 节省存储空间           D. 便于销毁结构,释放存储空间

14. 若长度为n的非空顺序表,在表的第i个位置插入一个新元素,i的合法值是(B    )。

A. 1≤i≤n          B.1≤i≤n+1         C. 0≤i≤n-1         D. 0≤i≤n

15.已知L是带头结点的单链表,则删除首元结点的语句是(    D  )。

A. L=L->next;                B. L->next=L;         

C. L=L->next->next;          D. L->next=L->next->next;

16. 已知单链表A的长度为m,单链表B的长度为n,若将B链接在A的末尾,在没有尾指针的情况下,算法的时间复杂度为( C   )。

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

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

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

二、填空题

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

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

3. 对于一个有n个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为__   o(n) ____。

4.根据链式存储结构中每一个结点包含的指针个数,可以将线性链表分成_ 单链表    __和多重链表。

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

6. 顺序存储结构是通过_    物理位置    __表示元素之间的关系的;链式存储结构是通过___指针____表示元素之间的关系的。

7. 循环单链表的最大优点是:__从任意节点出发都能可访问到链表中每一个元素             ___。

8. 带头结点的单循环链表L,L为空表的条件是:__   P->next=head;      ___。

三、判断题

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

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

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

4. 所谓静态链表就是一直不发生变化的链表。( 错   )静态链表是指用数组方式存储

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

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

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

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

四、简答题

1. 对于线性表中的插入操作,分别写出在顺序存储结构下和链式存储结构下的时间复杂度。

2. 线性结构的特点是什么?

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

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

*5. 顺序表在插入或删除元素时一般需要移动元素,如果想不移动多个元素就实现插入和删除,应该如何处理?

五、算法题

1、利用线性表的基本操作(见教材P19),实现在线性表A中删除在线性表B中出现的元素。

2、编写算法,将一个有n个非零元素的线性表A拆分成两个线性表,其中大于零的元素存放线性表B中,小于零的元素存放在线性表C中。

3、线性表L是以带头结点的单链表的形式存储,请设计算法,删除链表中第i个元素,并由变量e返回删除的元素的值。


http://lihuaxi.xjx100.cn/news/1899374.html

相关文章

k8s - container

1、容器的生命周期&#xff1a; (1) 简介&#xff1a; Kubernetes 会跟踪 Pod 中每个容器的状态&#xff0c;就像它跟踪 Pod 总体上的阶段一样。 可以使用容器生命周期回调&#xff0c;在容器生命周期中的特定状态点触发事件。 ● 容器生命周期回调&#xff1a; 在容器的生…

服务注册与发现

本篇主要介绍的是Spring Cloud Eureka。 1.1 简介 Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分&#xff0c;基于 Netflix Eureka 做了二次封装&#xff0c;主要负责完成微服务架构中的服务治理功能&#xff0c;服务治理可以说是微服务架构中最为核心和基…

Webpack cl4 配置

基本配置&#xff1a; module.exports defineConfig({transpileDependencies: false,lintOnSave: false,outputDir: process.env.VUE_APP_DIST, // 打包后文件的目录publicPath: ./, // 静态资源路径&#xff08;默认/&#xff0c;打包后会白屏&#xff09;assetsDir: static…

1.3 第一个C程序

一、Dev-C的安装 下载地址&#xff1a;https://sourceforge.net/projects/orwelldevcpp/ 二、Dev-C简单的使用 2.1 首次打开配置 2.2 第一个程序的编辑、编译、运行 三、Hello Word程序讲解 3.1 程序框架 几乎所有的程序都需要这一段代码 3.2 输出 printf("Hello World…

Stable-Diffusion|文生图 完蛋我被美女包围了人物Lora(四)

前面几篇&#xff1a; Stable-Diffusion|window10安装GPU版本的 Stable-Diffusion-WebUI遇到的一些问题&#xff08;一&#xff09; 【Stable-Diffusion|入门怎么下载与使用civitai网站的模型&#xff08;二&#xff09;】 Stable-Diffusion|文生图 拍立得纪实风格的Lora 图例&…

Leetcode 2132. 用邮票贴满网格图(Java + 两次一维前缀和 + 二维差分)

Leetcode 2132. 用邮票贴满网格图&#xff08;Java 两次一维前缀和 二维差分&#xff09; 题目 给你一个 m x n 的二进制矩阵 grid &#xff0c;每个格子要么为 0 &#xff08;空&#xff09;要么为 1 &#xff08;被占据&#xff09;。给你邮票的尺寸为 stampHeight x sta…

解决spa页面首屏加载慢的方式笔记

1.减少入口文件的体积 路由懒加载&#xff1a;在需要的时候进行加载&#xff0c;按需加载 前提&#xff1a;进行懒加载的子模块需要是一个单独的文件&#xff0c;所以要实现懒加载&#xff0c;就得先将进行懒加载的子模块&#xff08;子组件&#xff09;分离出来 vue router 支…

天选姬·桌宠 你值得拥有

天选姬桌宠 简介官网地址安装教程1.获取方式2.安装3.功能效果4.桌宠互动5.下载地址 彩蛋搜狗输入法天选姬主题天选姬桌宠视频简介天选姬静态壁纸天选姬动态壁纸 天选姬桌宠 简介 互动类虚拟桌面宠物&#xff0c;让你的桌面变得有趣和精彩。 官网地址 载中心 | 官方支持 | A…