【数据结构】线性表习题 |顺序表 |链表 |栈和队列

📖专栏文章:数据结构学习笔记
🪪作者主页:格乐斯

前言

线性表习题 |顺序表 |链表 |栈和队列

顺序表和链表

1、 在这里插入图片描述

选B

100+2(5-1)=108*

第i个元素地址X,元素长度Len,第j个元素地址Y

公式:Y=X+Len(j-i)*


2、

在这里插入图片描述

选A

对顺序表操作的算法时间复杂度是O(1)的只有访问任意结点,插入删除排序都是大于等于O(N)


3、 在这里插入图片描述

选B

顺序表总共127个元素,在最后一个元素之后插入需移动0次,在最后一个元素插入移动1次,倒数第二个元素插入移动2次,依次类推,在首元素插入移动127次

(0+1+…+127)/128=63.5

*公式:((0+n)n/(n+1)=n^2/(n+1)


4、在这里插入图片描述

选A

链式存储结构所占存储空间,一部分存放结点值,另一部分存放与其他结点有关系的指针


5、在这里插入图片描述

选D

链式结构的存储单元地址连续或不连续都可以


6、

在这里插入图片描述

选B

链式结构的对单个元素插入删除操作的时间复杂度是最小的O(1)

顺序结构的则是O(N)


7、

在这里插入图片描述

选C

存储密度是指一个结点数据本身所占的存储空间和整个结点所占的存储空间之比。

假设链表一个结点的数据域占空间为D,指针域占的空间为N,则存储密度为D/(D+N),一定是小于1的。


8、

在这里插入图片描述

选A

两个各有n个元素的有序表,如果第一个有序表的所有元素都小于第二个表中元素,那么第二个表的元素依次与第一个表的元素比较,只需要比较n次


9、

在这里插入图片描述

选B

长度为n的顺序表中,第i个元素之前插入新元素需要向后移动n-i+1个元素

就相当于问 3到10有几个数字,答案无疑是10-3+1=8个


10、在这里插入图片描述

选D

链表中首元素和尾元素没有直接前驱和直接后驱,除此之外都有前驱后驱且仅有一对

线性表的结点可以没有元素


11、在这里插入图片描述

选C

在链表末尾插入1个新结点需要先找到末尾结点,时间复杂度O(N)

若创建一个包含n个结点的单链表也就是末尾插入n个结点,则时间复杂度为O(N^2)


12、在这里插入图片描述

选D

链式结构和顺序结构各有优缺点,不存在一种结构优于另一种结构的说法


13、在这里插入图片描述

选D

链表结点后插法:先 新结点连接原结点,后 定位结点连接新结点


14、在这里插入图片描述

选A

单链表结点插入操作

在这里插入图片描述


15、在这里插入图片描述

选C

双链表结点插入操作


栈和队列

1、在这里插入图片描述

选C

模拟选项的出栈方式来判断选项


2、在这里插入图片描述

选C

从n往前数i个数,问数到第i个数是多少

n-i+1 (+1是因为本身也算数)

比如从10数到1,第三个数是10-3+1=8


3、在这里插入图片描述

选D

计算循环队列的元素个数,也就是求队列长度

假设n表示队列最大容量,r表示队尾元素的位置,f表示头元素前一位置,则元素个数为 (n+r-f)%n

4、在这里插入图片描述

选A

保存栈顶元素值并删除栈顶结点:x=top->data; top=top->link;


5、在这里插入图片描述

选A

条件n等于0时停止递进,0到n有n+1个数,所以函数调用次数为n+1次


6、在这里插入图片描述

选D

栈的特性是后进先出


7、在这里插入图片描述

选A

解决缓冲区问题应利用一种先进先出的线性表


8、在这里插入图片描述

选B

e2在e1前出栈,说明栈S至少两个元素;

像e4e3、e6e5这种降序元素组合在下文称作 “以某元素开头的降序组”;

降序组的最大长度为2,所以栈元素最大数量至少为2;

题目中以元素e4开头的降序组 排在 以元素e6开头的降序组之后,所以栈存在元素的最大数量不会增加;

但是如果反过来e6在e4前,最大数量就会增加2;

e1在降序组之后出栈,所以最大数量加1;

至此栈S的元素最大数量为3。


9、在这里插入图片描述

选C

初始栈顶指针top为n+1,故元素从高地址进栈;

top的运算从原先的++变–


10、在这里插入图片描述

选D

表达式求值采用后进先出的线性表,就是栈


11、在这里插入图片描述

选D

当队列中只有一个元素的时候,删除结点需要同时修改头尾指针


12、在这里插入图片描述

选D

循环队列入队操作rear指针的运算语句:rear=(rear+1)%MAXSIZE

数组A[0…m]总共有m+1个元素,所以入队操作为

rear=(rear+1)%(m+1);


13、在这里插入图片描述

选B

循环队列判断队空:rear==front


14、在这里插入图片描述

选C

栈和队列的共同点是 只允许在端点处插入和删除元素


15、在这里插入图片描述

选B

递归算法必要部分包括 终止条件和递归部分


总结

本文主要介绍了15道线性表习题 包括顺序表 、链表 、栈和队列


文章到这结束啦,感谢阅读~

如果文章的论述或代码等出现错误,欢迎前来指正!

如果你觉得文章写的还不错,记得点赞收藏评论三连~ ❤

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/640920.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker进入容器查看内容并从容器里拷贝文件到宿主机

工作中需要从docker正在运行的镜像中复制文件到宿主机,于是便将这个过程记录了下来。 (1)查看正在运行的容器 通过以下命令,可以查看正在运行的容器: docker ps (2)进入某个容器执行脚本 我…

备考AMC8和AMC10竞赛,吃透2000-2024年1850道真题和解析(持续)

多做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一,通过做真题,可以帮助孩子找到真实竞赛的感觉,而且更加贴近比赛的内容,可以通过真题查漏补缺,更有针对性的补齐知识的短板。 今天我们继续…

Android Audio基础——AudioFlinger回放录制线程(七)

AndioFlinger 作为 Android 的音频系统引擎,重任之一是负责输入输出流设备的管理及音频流数据的处理传输,这是由回放线程 PlaybackThread 及其派生的子类和录制线程 RecordThread 进行的。 一、基础介绍 1、关系图 ThreadBase:PlaybackThread 和 RecordThread 的基类。 Re…

群晖NAS使用Docker部署WPS Office结 合内网穿透实现远程编辑本地文档

文章目录 1. 拉取WPS Office镜像2. 运行WPS Office镜像容器3. 本地访问WPS Office4. 群晖安装Cpolar5. 配置WPS Office远程地址6. 远程访问WPS Office小结 7. 固定公网地址 wps-office是一个在Linux服务器上部署WPS Office的镜像。它基于WPS Office的Linux版本,通过…

redis--redis Cluster

简介 解决了redis单机写入的瓶颈问题,即单机的redis写入性能受限于单机的内存大小、并发数量、网卡速率等因素无中心架构的redis cluster机制,在无中心的redis集群当中,其每个节点保存当前节点数据和整个集群状态,每个节点都和其他所有节点连…

Redis机制-Redis互斥锁、分布式锁

目录 一 互斥锁 二 分布式锁 Redis实现分布式锁 redisson实现分布式锁 可重入性: 主从一致性(性能差): 一 互斥锁 假设我们现在有一个业务要实现秒杀优惠券的功能,如果是一个正常的流程,线程之间应该…

ThreadLocal为什么会导致内存泄漏?

问题引出: ThreadLocal是为了解决什么问题而产生的? ThreadLocal发生内存泄漏的根本原因是什么? 如何避免内存泄漏的发生?定义 为了解决多个线程同时操作程序中的同一个变量而导致的数据不一致性的问题。   假设现在有两个线程A…

【C++题解】1696. 请输出1~n之间所有的整数

问题:1696. 请输出1~n之间所有的整数 类型:循环 题目描述: 从键盘读入一个整数 𝑛n ,请循环输出 1∼n 之间所有的整数,每行输出 1 个。 比如,假设 n5 ,那么输出结果如下: 1 2 3 4 …

微调Llama3实现在线搜索引擎和RAG检索增强生成功能

视频中所出现的代码 Tavily SearchRAG 微调Llama3实现在线搜索引擎和RAG检索增强生成功能!打造自己的perplexity和GPTs!用PDF实现本地知识库_哔哩哔哩_bilibili 一.准备工作 1.安装环境 conda create --name unsloth_env python3.10 conda activate …

我用 Midjourney 的这种风格治愈了强迫症

在 Midjourney 能够实现的各种布局之中,有两种风格因其简洁、有序而独居魅力,它们就是平铺 (Flat Lay) 和 Knolling (Knolling 就是 Knolling, 无法翻译🤣)。要在现实生活中实现这样的美学效果并不容易,你需要精心挑选各种小物件&…

【JAVA WEB实用与优化技巧】如何自己封装一个自定义UI的Swagger组件,包含Swagger如何处理JWT无状态鉴权自动TOKEN获取

目录 一、Swagger 简介1. 什么是 Swagger?2. 如何使用 Swagger3. Springboot 中swagger的使用示例1. maven 引入安装2. java配置 二、Swagger UI存在的缺点1.不够方便直观2.请求的参数没有缓存3.不够美观4.如果是JWT 无状态登录,Swagger使用起来就没有那…

MVCC相关

文章目录 前情要点基于什么引擎并发事务产生的问题不可重复读和幻读区别Next-Key Lock的示例解决并发事务采用的隔离级别当前读(Current Read)快照读(Snapshot Read)参考 MVCC定义表里面的隐藏字段由db_roll_ptr串成的版本链ReadView可见性算法mvcc的可见性算法为什么要以提交的…

编译器 编译过程 compiling 动态链接库 Linking 接口ABI LTO PGO inline bazel增量编译

编译器 编译过程 compiling 动态链接库 Linking 接口ABI LTO PGO Theory Shared Library Symbol Conflicts (on Linux) 从左往右查找:Note that the linker only looks further down the line when looking for symbols used by but not defined in the current lib.Linux 下…

【C++题解】1697. 请输出n~1之间所有的整数

问题:1697. 请输出n~1之间所有的整数 类型:循环 题目描述: 从键盘读入一个整数 n ,请输出 n∼1 之间所有的整数,每行输出 1 个。 比如,假设读入 n5 ,输出结果如下: 5 4 3 2 1 输入&#xff1…

第199题|关于函数的周期性问题|函数强化训练(六)|武忠祥老师每日一题 5月24日

解题思路:解这道题我们要用到下面这个结论 f(x)连续,以T为周期时,原函数以T为周期的充分必要条件是: (A) sin x显然是以π为周期的,我们可以看到并不等于0,根据结论,A的原函数显然不是周期函数。 (B) 的…

移动端仪表盘,支持更多组件

05/22 主要更新模块概览 定位函数 快捷筛选 轨迹图表 时间组件 01 表单管理 1.1 【表单组件】- 表单关联新增支持自定义按钮样式 说明: 表单关联-关联数据按钮,原仅支持默认按钮样式,现增加关联数据按钮自定义功能,满…

【传知代码】掩码自回归编码器法(论文复现)

前言:在探索现代数据科学的前沿领域时,掩码自回归编码器法(Masked Autoencoder,简称MAE)无疑是一个引人注目的亮点。这一技术,凭借其独特的训练机制和卓越的性能,已经在图像识别、自然语言处理以…

《我的阿勒泰》观后感(二、返璞归真也是一种美)

看了李娟的小说《我的阿勒泰》逐渐悟到一个道理,返璞归真也是一种美,没必要每个人的人生三十年的年华,都去追求房子,车子等逐渐贬值的东西。人究竟应该追求怎样的一种活法? 什么是城市化?这是我听到的最好…

osgearth 3.5 vs 2019编译

下载源码 git clone --recurse-submodules https://github.com/gwaldron/osgearth.git 修改配置文件 主要是修改bootstrap_vcpkg.bat,一处是vs的版本,第二处是-DCMAKE_BUILD_TYPERELEASE 构建 执行bootstrap_vcpkg.bat vs中生成安装 vs2019打开bu…

spring boot打的包直接运行

Spring Boot 提供了一个插件 spring-boot-maven-plugin 把程序打包成一个可执行的jar包&#xff0c;直接执行java -jar xxx.jar即可以启动程序 1、引用 spring-boot-maven-plugin插件 <build><plugins><plugin><groupId>org.springframework.boot<…