• 2024-09-2818年408数据结构
    第一题:解析:这道题很简单,按部就班的做就可以了。画出S1,S2两个栈的情况:S1:      S2:                    2        +        3        -        8        *
  • 2024-09-27循环队列入队出队
    队列队列特性:先进先出限定插入操作只能在队尾进行,而删除操作只能在队头进行。循环队列:一种线性数据结构,其操作表现基于先进先出,队尾被连接在队首之后以形成一个循环。循环队列的操作与普通队列类似,但又有独特的优点下面给出一些循环队列的操作函数:队列创建、入队、
  • 2024-09-27数据结构之——队列
    一、队列概述        队列是一种操作受限的线性表,其限制条件为允许在表的一端进行插入,而在表的另一端进行删除。插入的一端叫做队尾,删除的一端叫做队头。向队列中插入新元素的行为称为进队,从队列中删除元素的行为称为出队。例如军训的时候,都排成一列,有头有尾。假设你
  • 2024-09-09【洛谷 P1996】约瑟夫问题 题解(数组+模拟+循环)
    约瑟夫问题题目描述个人围成一圈,从第一个人开始报数,数到的人出列,再由下一个人重新从开始报数,数到的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。注意:本题和《深入浅出-基础篇》上例题的表述稍有不同。书上表述是给出淘汰名小朋友,而该题是全部出圈。输入
  • 2024-09-09多线程篇(阻塞队列- PriorityBlockingQueue)(持续更新迭代)
    目录一、简介二、类图三、源码解析1.字段讲解2.构造方法3.入队方法put浮调整比较器方法的实现入队图解4.出队方法takedequeue下沉调整比较器方法的实现出队图解四、总结一、简介PriorityBlockingQueue队列是JDK1.5的时候出来的一个阻塞队列。但是该队
  • 2024-08-29【408DS算法题】029基础-二叉树的层次遍历
    Index题目本文稍后补全,以下内容来自:https://blog.csdn.net/weixin_60702024/article/details/141615340分析实现总结题目本文稍后补全,以下内容来自:https://blog.csdn.net/weixin_60702024/article/details/141615340给定二叉树的根节点root,写出函数实现对二叉树的层
  • 2024-07-22Verilog队列链表操作
    链表在缓存管理中有重要的应用,对所有输入的数据都放在一块大的RAM中缓存,并且根据一定的规则将数据分类并划归不同的队列,不同队列的数据可以分别控制输出,队列内,数据按严格先进先出的顺序操作我们假设输入数据的位宽为256,并且开辟一个2^20深度的RAM用于缓存,那么RAM大小为32MB。将
  • 2024-04-26利用两个栈实现队列的入队出队以及判断队列是否为空
    boolenQueue(SeqStack_t*S1,SeqStack_t*S2,intx){DataType_ttemp=x;//判断S1是否满if(SeqStack_IsFull(S1)){//判断S2是空if(SeqStack_IsEmpty(S2))![image](uploading...){while(!SeqStack_IsEmpty
  • 2024-03-23【模板】单调队列 滑动窗口最值
    LuoguP1886滑动队列/单调队列有一个长为 n 的序列 a,以及一个大小为 k 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 以求最小值为例f[i]表示以i结尾的窗口中的最小值f[i]=min(a[j]),i-k+1<=j<=i暴力算法O(n^2)
  • 2024-01-26C转C++速成浅入浅出系列——STL之queue
    本系列为应付考研复试用,知识浅入浅出,很多地方不深究细节原理;如有谬误,欢迎大家指出。queue【queue:队伍,队列】(学过数据结构的熟的不能再熟了吧)理解为队列。特点是①先入先出②只能对队伍的队首进行出队操作,对队伍的队尾进行入队操作。需提供头文件#include<queue>由于队列的
  • 2024-01-25【数据结构】72变的双端队列
    双端队列前言大家好,很高兴又和大家见面啦!!!在前面的篇章中,咱们详细介绍了队列这种新的数据结构,现在我们简单的回顾一下队列的三要素——数据的逻辑结构、数据的存储结构以及数据的运算。数据的逻辑结构队列的数据元素在逻辑上是呈现线性结构,也就是说队列也是一种线性表,只不过是一种
  • 2024-01-20【数据结构】详谈队列的顺序存储及C语言实现
    循环队列及其基本操作的C语言实现前言大家好,很高兴又和大家见面啦!!!在上一篇内容中,我们在介绍完队列的基本概念、重要术语以及基本操作后,又回顾了一下数据结构的三要素——数据的逻辑结构、数据的存储结构以及数据的运算。队列这种数据结构我们已经介绍了它的逻辑结构以及数据运算
  • 2024-01-173254:约瑟夫问题No.2C++
    \这题思路还是挺多的。如果用数学的角度考虑。知道了n,p,m自然就知道下一个要出队的人的编号。然后一个个输出就行了。还可以用循环链表做。还可以用队列。出队在入队。#include<iostream>#include<queue>usingnamespacestd;intmain(){intn,p,m;while(
  • 2023-11-25 数据结构之优先队列(java)
    一:概述队列的特点是:先进先出(FIFO).入队列,将元素置于队尾;出队列,队头元素最先被移出:优先队列不遵循先入先出的原则,而是分两种情况。最大优先队列,无论入队顺序如何,都是当前最大的元素优先出队最小优先队列,无论入队顺序如何,都是当前最小的元素优先出队。例如有一个最大优先队列,其中的
  • 2023-11-23对第K短路一题的一些解释
    首先证明那个比较显然的推论我们先证明一下一个小引理:这个BFS先出队的点一定比后出队的点的代价小或等于用数学归纳法,假设前面已经出队的点满足以上性质,之前最后一个出队的点为\(x\),现在队列里面的队首是\(y\),那我们就是要证明\(y\)的代价比\(x\)小或等于我们考虑一下\(y\)是怎
  • 2023-11-22推箱子保证单调性的正确性
    如果保证了单调性,那么一个状态在出队的时候,一定是这个状态的最优情况反证,如果不是最优情况,那么肯定存在一个状态A,A能到达这个状态且会让这个状态变优由于这个状态变优了,要么就是箱子移动的步数少了,要么就是箱子移动的步数是一样的但人移动的步数少了然后这个更优的状态是由A移
  • 2023-10-28 数据结构之栈和队列
    一:物理结构和逻辑结构除了数组和链表之外,常用过的数据结构还有很多,但大对数* 都以数组或链表作为存储方式。数组和链表可以被看作数据存储* 地‘物理结构“**什么是数据存储的物理结构呢?*如果把数据结构比作活生生的人,那么物理结构就是人的血肉*和骨骼,看得见,摸得着,实
  • 2023-10-19第K短路相关证明
    Dijkstra正确性证明采用反证法+数学归纳法设目前已经出对的点得到的都是最短路,那么对于现在刚好出队这个点t来说:因为它是优先队列的对头,而且图中的边权都是非负数,所以它不可能被队列中的点再更新因为每个点只会出队一次,所以它也不会被已经出队的点再次更新还没有入队的点距
  • 2023-10-19堆优化迪氏最短单源路径原理及C++实现
    时间复杂度O(ElogE),E是边数。适用与稀疏图。使用前提边的权为正。可以非连通,非连通的距离为-1。原理优选队列(小根堆)记录两个数据:当前点到源点距离,当前点。先处理距离小的点;如果距离相等,先处理谁都可以。可以用pair记录,不用重写小于。优先队列只记录如下情况的距离:一,{0,源点}。二,
  • 2023-10-17实验五 队列的基本操作及应用
    实验五队列的基本操作及应用作业要求:实验时间:第7、8周实验目的:掌握队列的初始化、判空、取队头元素、出队、入队、输出队列元素等基本操作实验要求:1、认真阅读和掌握教材上和本实验相关的算法。2、上机将链队列或循环队列的相关算法实现。3、实现下面实验内容要求的功能,并
  • 2023-09-2412张图一次性搞懂高性能并发容器ConcurrentLinkedQueue
    12张图一次性搞懂高性能并发容器ConcurrentLinkedQueue前言上篇文章聊到并发集合CopyOnWeiteArrayList的实现与特点,其不足之处是不适合写多的场景也不适合并发量大的场景本篇文章来聊聊并发场景下高性能的ConcurrentLinkedQueue阅读本文大概需要10分钟在阅读本文前,需要理解CAS
  • 2023-08-27循环队列的定义、入队、出队等操作 C++代码实现
    #include<iostream>usingnamespacestd;/*循环队列的类型定义*/constintQueue_Size=100;typedefstructcirclQueue{char*elem;intrear;intfront;intqueueSize;}circlQueue;/*初始化*/voidinitQueue_C(circlQueue&
  • 2023-07-09ds:队列的基本实现
     一.顺序队1.入队判断队满,出队判断队空;2.顺序队定义时,要注意front、rear是下标,不是指针。typedefstruct{intdata[maxsize];intrear,front;//front:队头元素的下标。rear:队尾元素的后一个位置的下标(下一个待插入的位置),}sqListQueue;3,如果判断队
  • 2023-06-03初级数据结构--栈、队列
    栈后端(进栈)插入,后端(出栈)删除顺序存储,用静态数组实现,需要记录栈顶指针,栈的增删操作只能操作栈顶的护数据。两种初始化方式top=-1top=0共享栈两个栈共用一片内存空间,两个栈从两边向中间增长初始化1个栈顶指针初始为-1;另一个栈顶指针初始为Maxsize栈满条件 top0+1==top1队列后端(
  • 2023-05-30单调队列
    以求滑动窗口内最小值为例:有2314785一组数据,有一个范围为3的的滑动窗口,每次向右移动1距离,求每次滑动的最小值队列特性维护一个最大为3个数的队列,且该队列具有单调性(队列内的数据呈现单调递增或递减)元素进队只能从队尾进,队头,队尾都可出从尾进队:是必