408第一季 - 数据结构 - 栈与队列
栈
闲聊
栈是一个线性表
栈的特点是后进先出
然后是一个公式
比如123要入栈,一共有5种排列组合的出栈
栈的数组实现
这里有两种情况,,一个是有下标为-1的,一个没有
代码不用看,真题不会考
栈的链式存储结构
L -> 4 ->3 ->2 -> 1
归并所有的操作都在表头进行,用链表实现
做题区
1
相当简单,fedc出栈了4次了
2
可以看见,除了它本身取不到,其他都能取到,也就是n-1的取值个数
3
这题目不难,必要陷入题目的陷阱了, 意思是in和out可以随便取
可以看出来可以判断出来能不能出栈
过程是一样的,看看能不能找到出栈,可以判断
C:一定不同就幽默了,
D:确实可能互为倒序
队列
闲聊
也是操作受限的线性表
操作特点是先进先出 FIFO
记住这句话,rear有点大病
入队的话是从尾部队列,上面的图就是当front走到最上面,发现数组中还有空位置,就很浪费,所以就有了循环队列,就是可以重头开始
循环队列
循环队列是用数组实现的,所以它属于存储结构(物理结构),逻辑结构反映不出来是用什么实现的
下面一共会画4种图,兄弟们
第一种
front和rear都会指向0
然后假设第一个元素放入A【0】
入队我们要做的就是尾指针先放后移
就可以发现
第二种
front和rear都会指向倒数倒数第一个
那就只能先移动在放了
尾指针终于指向队尾了
头指针就很屎了,在队头前一个
第三种
头指针在倒数第一个,尾指针在第一个(图已分裂!)
肯定是先放后移了
尾指针肯定是队尾下一个
头指针是队头的前一个,永远是这样记住,若头指针移动到下一个元素出栈,那头指针仍然是队头的前一个
第四种
队头是0,队尾是倒数第一个
先移再放不多说
尾指针指向队尾
头指针指向队头,爽了
然后看一下题目就知道该怎么用了
这里就是第四种情况了,选B
判断队空队满
拿第一个举例子
后面就是先放再移动,移啊移啊,变成了下面的样子
就能发现 空是 front == rear
满是 front == rear
可以发现居然一样的,我不能接受!
所以牺牲一个单元
就变成了 (rear + 1)% M == front
看题目
这里头指向队首元素,队尾指向队尾后一个也是队头元素
后面又说最多能容纳M-1个,也就是说,他牺牲了一个单元,非常感动
选A
计算元素个数
如果 rear > front 那rear - front
如果 front出队,rear又入队
就变成了 rear < front 那就是 rear + n - front
所以,如果要整一个汇总就是
(rear - front + n)%n
双端队列
输出受限双端队列:就是2边能随便进,但输出受限了
输入受限双端队列:就是2边能随便输出,但输入受限了
做个题
只让从一端出,也就是图这个样子,最后只要能入成选项的样子就可以了,因为最后直接顺序输出就结束了
C选项无法入成我想要的样子,所以错
一模一样的题
选D
相关文章:

408第一季 - 数据结构 - 栈与队列
栈 闲聊 栈是一个线性表 栈的特点是后进先出 然后是一个公式 比如123要入栈,一共有5种排列组合的出栈 栈的数组实现 这里有两种情况,,一个是有下标为-1的,一个没有 代码不用看,真题不会考 栈的链式存储结构 L ->…...

【RTP】Intra-Refresh模式下的 H.264 输出,RTP打包的方式和普通 H.264 流并没有本质区别
对于 Intra-Refresh 模式下的 H.264 输出,RTP 打包 的方式和普通 H.264 流并没有本质区别:你依然是在对一帧一帧的 NAL 单元进行 RTP 分包,只不过这些 NAL 单元内部有部分宏块是 “帧内编码” 而已。下面分步骤说明: 1. 原理回顾:RFC 6184 H.264 over RTP 按照 RFC 6184 …...
nano编辑器的详细使用教程
以下是 Linux 下 nano 编辑器 的详细使用指南,涵盖安装、基础操作、高级功能、快捷键以及常见问题处理。 一、安装 nano 大多数 Linux 发行版已预装 nano。如果没有安装,可以通过以下命令安装: Debian/Ubuntu 系:sudo apt update…...

Redis实战-消息队列篇
前言: 讲讲做消息队列遇到的问题。 今日所学: 异步优化消息队列基于stream实现异步下单 1. 异步优化 1.1 需求分析 1.1.1 现有下单流程: 1.查询优惠劵 2.判断是否是秒杀时间,库存是否充足 3.实现一人一单 在这个功能中&…...

(三)Linux性能优化-CPU-CPU 使用率
CPU使用率 user(通常缩写为 us),代表用户态 CPU 时间。注意,它不包括下面的 nice 时间,但包括了 guest 时间。nice(通常缩写为 ni),代表低优先级用户态 CPU 时间,也就是进…...

佰力博科技与您探讨材料介电性能测试的影响因素
1、频率依赖性 材料的介电性能通常具有显著的频率依赖性。在低频下,偶极子的取向极化占主导,介电常数较高;而在高频下,偶极子的取向极化滞后,导致介电常数下降,同时介电损耗增加。例如,VHB4910…...

K8S认证|CKS题库+答案| 4. RBAC - RoleBinding
目录 4. RBAC - RoleBinding 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、查看SA和role 3)、编辑 role-1 权限 4)、检查role 5)、创建 role和 rolebinding 6࿰…...

React 新项目
使用git bash 创建一个新项目 建议一开始就创建TS项目 原因在Webpack中改配置麻烦 编译方法:ts compiler 另一种 bable 最好都配置 $ create-react-app cloundmusic --template typescript 早期react项目 yarn 居多 目前npm包管理居多 目前pnpm不通用 icon 在public文件夹中…...
解决MySQL8.4报错ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded
最近使用了MySQL8.4 , 服务启动成功,但是就是无法登陆,并且报错: ERROR 1524 (HY000): Plugin mysql_native_password is not loaded 使用如下的命令也报错 mysql -u root -p -P 3306 问题分析: 在MySQL 8.0版本中,默认的认证插件从mysql_native_password变更为cachi…...

AI编程在BOSS项目的实践经验分享
前言 在人工智能技术革新浪潮的推动下,智能编程助手正以前所未有的速度重塑开发领域。这些基于AI的代码辅助工具通过智能提示生成、实时错误检测和自动化重构等功能,显著提升了软件工程的全流程效率。无论是初入行业的开发者还是资深程序员,…...
力扣-131.分割回文串
题目描述 给你一个字符串 s,请你将 s 分割成一些 子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 class Solution {List<List<String>> res new ArrayList<>();List<String> path new ArrayList<>();void…...

数学:”度量空间”了解一下?
度量空间是现代数学中一种基本且重要的抽象空间。以下是对它的详细介绍: 定义 相关概念 常见的度量空间举例 度量空间的类型 度量空间的作用 度量空间是拓扑空间的一种特殊情况,它为拓扑空间的研究提供了具体的模型和实例。同时,度量空间在…...

jenkins脚本查看及备份
位置与备份 要完整备份 Jenkins 的所有脚本和相关配置,包括 Jenkinsfile、构建脚本(如 .sh / .bat)、Job 配置、插件、凭据等,你可以从两个层面入手: ✅ 一、完整备份 Jenkins 主目录(最全面) …...

用电脑通过网口控制keysight示波器
KEYSIGHT示波器HD304MSO性能 亮点: 体验 200 MHz 至 1 GHz 的带宽和 4 个模拟通道。与 12 位 ADC 相比,使用 14 位模数转换器 (ADC) 将垂直分辨率提高四倍。使用 10.1 英寸电容式触摸屏轻松查看和分析您的信号。捕获 50 μVRMS 本底噪声的较小信号。使用独有区域触摸在几秒…...
嵌入式面试提纲
一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责把数据帧(Frame)在相邻节点间传输。 网络层(Internet Layer) 最典型的是 IP 协议 (IPv4/IPv6)。负责 路由选路、分片与重组。 其他:ICMP(Ping、目的不可达等)…...
算法工程师认知水平要求总结
要成为一名合格的算法工程师或算法科学家,需要达到的认知水平不仅包括扎实的技术功底,更涵盖系统性思维、问题抽象能力和工程实践智慧。以下是关键维度的认知能力要求: 一、理论基础认知深度 数学根基 概率统计:深刻理解贝叶斯推断…...

《如何使用MinGW-w64编译OpenCV和opencv_contrib》
《如何使用MinGW-w64编译OpenCV和opencv_contrib》 在Windows环境下使用MinGW编译OpenCV和opencv_contrib是一个常见需求,尤其是对于那些希望使用GCC工具链而非Visual Studio的开发者。下面我将详细介绍这个过程。 准备工作 首先需要安装和准备以下工具和库: MinGW(建议使…...
数据库、数据仓库、数据中台、数据湖相关概念
文章目录 序言1数据库,数据仓库,数据中台,数据湖-概念对比释义1.1概念产生的时间顺序1.2在使用功能方面对比1.3在使用工具方面对比 2数据仓库2.1数据仓库的发展阶段2.2 数据仓库的设计2.3数据仓库常用工具,方法2.3.1分析型数据库和…...

模拟搭建私网访问外网、外网访问服务器服务的实践操作
目录 实验环境 实践要求 一、准备工作 1、准备四台虚拟机,分别标号 2、 防火墙额外添加两块网卡,自定义网络连接模式 3、 关闭虚拟机的图形管理工具 4、关闭防火墙 5、分别配置四台虚拟机的IP地址,此处举一个例子(使用的临…...
【RAG召回】BM25算法示例
rank-bm25 功能示例 本篇将通过多个示例,快速展示 rank-bm25 库的核心功能。不使用jieba。 准备工作 首先,确保您已经安装了 rank-bm25。 pip install rank-bm25接下来,我们定义一个通用的中文语料库和分词函数。这里我们使用简单的单字切…...

vue中Echarts的使用
文章目录 Echarts概述什么是EchartsEcharts的好处 Vue中Echarts的使用Echarts的安装Echarts的引入 Echarts概述 什么是Echarts Apache ECharts:一个基于 JavaScript 的开源可视化图表库。 其官网如下:https://echarts.apache.org/zh/index.html Echar…...

【C++项目】负载均衡在线OJ系统-1
文章目录 前言项目结果演示技术栈:结构与总体思路compiler编译功能-common/util.hpp 拼接编译临时文件-common/log.hpp 开放式日志-common/util.hpp 获取时间戳方法-秒级-common/util.hpp 文件是否存在-compile_server/compiler.hpp 编译功能编写(重要&a…...
Linux环境-通过命令查看zookeeper注册的服务
假设前置条件如下: 1.root权限用户名:zookeeper 2.zookeeper所在服务器地址:168.7.3.254(非真实ip) 3.zookeeper的bin文件路径:/opt/zookeeper/bin 4.确保zookeeper注册中心已启动 查看注册中心服务如下&a…...

Spring Boot微服务架构(十一):独立部署是否抛弃了架构优势?
Spring Boot 的独立部署(即打包为可执行 JAR/WAR 文件)本身并不会直接丧失架构优势,但其是否体现架构价值取决于具体应用场景和设计选择。以下是关键分析: 一、独立部署与架构优势的关系 内嵌容器的优势保留 Spring Boot 独立部署…...

(四)Linux性能优化-CPU-软中断
软中断 中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力 由于中断处理程序会打断其他进程的运行,所以,为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快地运行 Linux 将中断处理过程分成了两个阶段&a…...
SCADA|RESTful学习,Apipost通过GET获取KingSCADA实时数据
哈喽,你好啊,我是雷工! 以前记录过一篇《安装APIPost工具,了解RESTful》的笔记。 最近涉及到SCADA程序和MES对接,这种信息化的对接,常常要用到RESTful。 好像还有什么Webservices,我是听的一头雾水。 根本听不懂啊,于是加班补补课,先了解下RESTful。 01 RESTful传…...
【CSS-7】深入解析CSS伪类:从基础到高级应用
CSS伪类是前端开发中不可或缺的强大工具,它们允许我们根据文档树之外的信息或简单选择器无法表达的状态来样式化元素。本文将全面探讨CSS伪类的各种类型、使用场景和最佳实践。 1. 伪类基础概念 1.1 什么是伪类? 伪类(Pseudo-class&#x…...

QT的工程文件.pro文件
文章目录 QT的工程文件.pro文件QT5中的基本模块Qt CoreQt GUIQt WidgetsQt QMLQt QuickQt NetworkQt SQLQt MultimediaQt ConcurrentQt WebEngineQt TestLib TARGET 可选择的模版CONFIG的配置项 QT的工程文件.pro文件 每一个QT项目都至少有一个.pro文件,用来配置项目…...
用 DeepSeek 高效完成数据分析与挖掘
一、DeepSeek 是什么? DeepSeek 是由深度求索推出的智能助手(当前版本 DeepSeek-R1),具备强大的自然语言理解、代码生成与数据分析能力。它支持 128K超长上下文,可处理复杂数据文档,并直接生成可运行的 Python 数据分析代码,是数据工作者的“AI副驾驶”。 二、DeepSeek…...

安科瑞防逆流方案落地内蒙古中高绿能光伏项目,筑牢北疆绿电安全防线
一、项目概况 内蒙古阿拉善中高绿能能源分布式光伏项目,位于内蒙古乌斯太镇,装机容量为7MW,采用自发自用、余电不上网模式。 用户配电站为35kV用户站,采用两路电源单母线分段系统。本项目共设置12台35/0.4kV变压器,在…...