队列 结构
代码随想录算法训练营第十天| 232.用栈实现队列 225. 用队列实现栈
232.用栈实现队列 卡哥建议:大家可以先看视频,了解一下模拟的过程,然后写代码会轻松很多。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0232.%E7%94%A8%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.h ......
[代码随想录]Day09-栈与队列part01
## 题目:[232. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/) ### 思路: 因为go没有栈和队列的类型,直接自己写就行了。 比较简单的实现,具体看代码中的注释。 ### 代码: ```go type ......
数据结构学习3
树型结构: 1、树的基本概念: 一种表示层次关系(一对多)的数据结构 有且仅有一个特定节点,该节点没有前趋节点,称为这棵树的根节点 剩余有n个(n>=0)有限个多节点组成互不相交的子集,每个子集都可以是一棵树,都被称为根节点的子树 注意:树中有树,树型结构具有递归性 2、树的表示方式: 倒悬树、凹凸 ......
数据结构
线段树 线段树可以在 O( logN ) 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。 注意点: 线段树的数组一般要开到4 * N; 位运算的写法为 N >> 2 对于懒标记:修改的时候不用用到下面的区间,查询的时候才会用到下面的区间 故每次插入懒标 ......
优先队列
元素入队时间复杂度O(logn),查询O(1),总体排序时间复杂度O(logn),用于优化一些大数据范围的排序,具体用法如下: #include<bits/stdc++.h> using namespace std; priority_queue <int,vector<int>,less<int> ......
C语言学习笔记(七)初识结构体
# 初识结构体 ## 结构体的声明 ### 结构体的基础知识 结构是一些值的集合,这些值称为**成员变量**。结构的每个成员可以是**不同类型**的变量。 ### 结构的声明 ``` struct 标签 { 值; 值; …… }变量列表; ``` **例:** ```c //定义一个结构体类型 st ......
go语言基础-控制结构
到目前为止,我们看到的 Go 程序都是从 main() 函数开始执行,然后按顺序执行该函数体中的代码。但我们经常会需要只有在满足一些特定情况时才执行某些代码,也就是说在代码里进行条件判断。针对这种需求,Go 提供了下面这些条件结构和分支结构: if-else 结构 switch 结构 select ......
结构体
# 结构体 ## 头文件 ```c #include #include ``` ### 声明结构体 ```c //声明一个学生类型,是想过学生类型来创建学生变量 //描述学生:属性-名字+电话+性别+年龄 struct Stu { char name[20]; char tele[12]; char ......
go语言基础-语言的核心结构与技术之基本结构要素
package main import "fmt" func main() { fmt.Println("hello,world") } 上述伪代码可以看到,学习go语言的基本语法,接下来,针对这段伪代码分析 package main 封装的概念,导入与可见性 包是构造代码的一种方式:每个程序都由包 ......
数据结构杂烩
# 线段树 ### P4681 [[THUSC2015]平方运算](https://www.luogu.com.cn/problem/P4681) ##### 简要题意 给定一个序列,区间 ```.map([](int x) { x = x * x % p; });```,区间求和。 ```p``` ......
RabbitMQ延迟队列,死信队列配置
##### 延迟和死信队列的配置 - 延迟队列有效期一分钟,后进入死信队列,如果异常就进入异常队列 ``` @Configuration @Data public class RabbitMQConfig { /** * 交换机 */ private String orderEventExchang ......
【C】结构体 struct
格式 struct 名称 struct Rectangle { int width; int height; }; int area(struct Rectangle rectangle); int area(struct Rectangle rectangle) { return rectangl ......
C练习题-数据结构与算法
1、将一棵二叉树的根节点放入队列,然后非递归的执行如下操作:将出队节点的所有子节点入队。以上操作可以实现哪种遍历( ) A、前序遍历 B、中序遍历 C、后续遍历 D、层序编历 答案:D; 二叉树的遍历: ①前序遍历:根、左、右 ②中序遍历:左、跟、右 ③后序遍历:左、右、跟 ④层序遍历:从上到下,从 ......
数据结构学习2
功能受限的表结构 1、队列: 只有两个口进出数据,一个专门进入数据,另一个专门出数据,先进先出,FIFO表。 顺序队列: 存储元素的连续内存的首地址 容量 队头位置(出队) 队尾位置(入队) [元素数量](可有可无) 运算:创建、销毁、清空、出队、入队、队空、队满、队头、队尾、元素数量 需要注意的问 ......
分支结构
分支结构 分支结构分为:if,if...else,if...else if,switch...case 1.if分支结构 if(boolean){ 语句块; } 基于条件执行:如果判断结果为true,执行语句块,如果为false,则if分支结束 //1)满500打8折: double price = ......
接口相似数据结构复用率高?Apipost这招搞定!
在API设计和开发过程中,存在许多瓶颈,其中一个主要问题是在遇到相似数据结构的API时会产生重复性较多的工作:在每个API中都编写相同的数据,这不仅浪费时间和精力,还容易出错并降低API的可维护性。 为了解决这个问题,Apipost推出了数据模型板块。用户可以预先创建多个数据模型,并在API设计过程 ......
数据结构三
# 复健$Day5$ ## 数据结构三 ## $4.$线段树和树状数组 ### 线段树模板(维护和) 包含区间修改,区间查询 ``` #include #include #include #include #define maxn 10010 using namespace std; int a[m ......
数据结构一
# 复健$Day5$ # 数据结构一 ## $1.$单调栈和单调队列 ### $(1).$海报$PLA-Postering$ https://www.luogu.com.cn/problem/P3467 首先很明显宽度是无用的因素,直接忽略掉即可。 对于海报覆盖,我们发现只有出现这样一种情况我们的覆 ......
数据结构二
# 复健$Day5$ ## 数据结构二 ## $3.$并查集 ### $(1)$亲戚 https://www.luogu.com.cn/problem/P1551 并查集模板 ``` #include #include #include #define maxn 5010 using namesp ......
BTC中的数据结构
# BTC中的数据结构 ## 普通指针 普通指针存储的是某个结构体在内存中的地址(假如P是指向一结构体的指针,那么P里面存放的就是该结构体在内存中的起始位置) ![image-20230802164519058](https://bucket01127.oss-cn-nanjing.aliyuncs ......
springboot + redis stream做轻量级消息队列
### 背景 前面我们探讨了使用redis stream做消息中间件的可行性,结论是在保证数据并发量不大, 数据敏感性不高, 且不方便使用重量级MQ,kafka的情况下可以使用. 探讨过程:https://www.cnblogs.com/qds1401744017/p/17598613.html # ......
For循环结构的运用
For循环 虽然所有循环结构都可以用while或者do...while表示,但Java提供了另一种语句——for循环,使一些循环结构变得更加简单。 for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构(重点)。 for循环执行的次数是在执行前就确定的。语法格式如下: for(初始化; ......
单调队列
一个支持在队尾插入,队头和队尾删除的队列,整个队列呈单调性 如果要求最大值则维护一个递减的单调队列,最小值则递增 用deque写很方便(前几天用数组模拟队列 代码调不出bug难受死了) 例题 P1886 滑动窗口 思路: 用一个deque,存点的序号(用于判断是否过期)和点的数字。每次新增加一个元素 ......
redis stream做轻量级消息队列的可行性
#### 背景 对于消息数量很少的场景, 尝试使用redis stream来做消息队列. #### 为什么要用redis的stream, redis的其他数据结构可以吗? 参考文章1:https://www.zhihu.com/question/43688764?sort=created 参考文章2 ......
C/C++ 数据结构五大核心算法之动态规划算法-给你一根长度为 n 的金条,请把金条剪成 m 段 (m 和 n 都是整数,n>1 并且 m>1)每断金条的长度记为 k[0],k[1],…,k[m].请问 k[0] k[1]…*k[m]可能的最大乘积是多少?
动态规划也是一种分治思想,但与分治算法不同的是,分治算法是把原问题分解为若干子问题,自顶向下,求解各子问题,合并子问题的解从而得到原问题的解。动态规划也是自顶向下把原问题分解为若干子问题,不同的是,然后自底向上,先求解最小的子问题,把结果存储在表格中,在求解大的子问题时,直接从表格中查询小的子问题的 ......
kratos项目中使用kafka实现延迟队列
项目地址 https://gitee.com/huoyingwhw/kratos_kafka B站视频地址 B站视频地址——kratos项目中使用kafka实现延迟队列 ......
消息队列详解
文章目录1、什么是消息队列2、消息队列特点3、消息队列的的传输模式4、常用的消息队列1、什么是消息队列消息队列一般简称为 MQ (Messges Queue),是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成,是在消息的传输过程中保存消息的容器。消息队列本 ......
粗略认识分层结构中的各种O (DTO VO BO PO DO)
## DTO (Data Transfer Object) 数据传输对象 这个传输通常指的是前端与后端之间的传输, 因此通常作为用于展示层与服务层之间的数据传输对象。 但在微服务盛行的当下, 服务和服务之间调用的传输对象也使用DTO. 如下图中调用远程业务时返回 DTO 对象. 而且前端传送给后端的 ......