搜索结果
查询Tags标签: 队列,共有 1737条记录-
生产者-消费者模型:理论讲解及实现(C++)
一、什么是生产者-消费者模型 1、简单理解生产者-消费者模型 假设有两个进程(或线程)A、B和一个固定大小的缓冲区,A进程生产数据放入缓冲区,B进程从缓冲区中取出数据进行计算,这就是一个简单的生产者-消费者模型。这里的A进程相当于生产者,B进程相当于消费者。2、为…
2021/10/19 20:41:19 人评论 次浏览 -
生产者-消费者模型:理论讲解及实现(C++)
一、什么是生产者-消费者模型 1、简单理解生产者-消费者模型 假设有两个进程(或线程)A、B和一个固定大小的缓冲区,A进程生产数据放入缓冲区,B进程从缓冲区中取出数据进行计算,这就是一个简单的生产者-消费者模型。这里的A进程相当于生产者,B进程相当于消费者。2、为…
2021/10/19 20:41:19 人评论 次浏览 -
最短路算法专题
一、知识结构图二、Dijkstra算法 单源最短路径 思想:广度和贪心 步骤:1、当到一个时间点时,图上部分的点的最短距离已确定,部分点的最短距离未确定。2、选一个所有未确定点中离源点最近的点,把他认为成最短距离。3、再把这个点所有出边遍历一边,更新所有的点。三、Fl…
2021/10/19 9:09:31 人评论 次浏览 -
最短路算法专题
一、知识结构图二、Dijkstra算法 单源最短路径 思想:广度和贪心 步骤:1、当到一个时间点时,图上部分的点的最短距离已确定,部分点的最短距离未确定。2、选一个所有未确定点中离源点最近的点,把他认为成最短距离。3、再把这个点所有出边遍历一边,更新所有的点。三、Fl…
2021/10/19 9:09:31 人评论 次浏览 -
记忆化DFS 与 基于优先队列的BFS
Fibonacci 数列的普通DFS实现方式: int dfs(int n) {if(n==1 || n==2)return 1;elsereturn(dfs(n-1)+dfs(n-2))%1000000007; }一、记忆化DFS Fibonacci 数列的记忆化DFS实现方式: int dfs(int n) {if(fib[n])return fib[n];if(n==1 || n==2)fib[n]=1;elsefib[n]=(dfs(n-…
2021/10/19 6:12:23 人评论 次浏览 -
记忆化DFS 与 基于优先队列的BFS
Fibonacci 数列的普通DFS实现方式: int dfs(int n) {if(n==1 || n==2)return 1;elsereturn(dfs(n-1)+dfs(n-2))%1000000007; }一、记忆化DFS Fibonacci 数列的记忆化DFS实现方式: int dfs(int n) {if(fib[n])return fib[n];if(n==1 || n==2)fib[n]=1;elsefib[n]=(dfs(n-…
2021/10/19 6:12:23 人评论 次浏览 -
常用的中间件
常用的中间件 中间件是什么 中间件(英语:Middleware)顾名思义是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。…
2021/10/18 6:10:01 人评论 次浏览 -
常用的中间件
常用的中间件 中间件是什么 中间件(英语:Middleware)顾名思义是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。…
2021/10/18 6:10:01 人评论 次浏览 -
C++单调队列实现滑动窗口(数组实现队列)
题目来源AcWing第154题题目 给定一个大小为 n≤106 的数组。 有一个大小为 k 的滑动窗口,它从数组的最左边移动到最右边。 你只能在窗口中看到 k 个数字。 每次滑动窗口向右移动一个位置。 以下是一个例子: 该数组为 [1 3 -1 -3 5 3 6 7],k 为 3。 数组最大值最小值[1 …
2021/10/18 1:10:10 人评论 次浏览 -
C++单调队列实现滑动窗口(数组实现队列)
题目来源AcWing第154题题目 给定一个大小为 n≤106 的数组。 有一个大小为 k 的滑动窗口,它从数组的最左边移动到最右边。 你只能在窗口中看到 k 个数字。 每次滑动窗口向右移动一个位置。 以下是一个例子: 该数组为 [1 3 -1 -3 5 3 6 7],k 为 3。 数组最大值最小值[1 …
2021/10/18 1:10:10 人评论 次浏览 -
【算法学习】动态规划的斜率优化
动态规划的状态转移方程为\(dp[i] = min(dp[j] + f(i,j)) , L(i)<=j<=R(i)\) 若\(f(i,j)\)仅与i,j中的一个有关,则可以采用单调队列优化,若\(f(i,j)\)与\(i,j\)均有关,则可以采用斜率优化 例题: HDU3507 容易写出状态转移方程: \(dp[i] = min(dp[j] + (s[i] …
2021/10/18 1:09:26 人评论 次浏览 -
【算法学习】动态规划的斜率优化
动态规划的状态转移方程为\(dp[i] = min(dp[j] + f(i,j)) , L(i)<=j<=R(i)\) 若\(f(i,j)\)仅与i,j中的一个有关,则可以采用单调队列优化,若\(f(i,j)\)与\(i,j\)均有关,则可以采用斜率优化 例题: HDU3507 容易写出状态转移方程: \(dp[i] = min(dp[j] + (s[i] …
2021/10/18 1:09:26 人评论 次浏览 -
队列:图解队列-Java实现 浅显易懂
队列(queue)队列 是 先进先出( FIFO,First In, First Out) 的线性表。在具体应用中通常用链表或者数组来实现,用数组实现的队列叫作 顺序队列 ,用链表实现的队列叫作 链式队列 。队列只允许在后端(rear)进行插入操作也就是 入队 enqueue,在前端(front)进行删除操…
2021/10/17 20:11:50 人评论 次浏览 -
队列:图解队列-Java实现 浅显易懂
队列(queue)队列 是 先进先出( FIFO,First In, First Out) 的线性表。在具体应用中通常用链表或者数组来实现,用数组实现的队列叫作 顺序队列 ,用链表实现的队列叫作 链式队列 。队列只允许在后端(rear)进行插入操作也就是 入队 enqueue,在前端(front)进行删除操…
2021/10/17 20:11:50 人评论 次浏览 -
Redis的事务机制
Redis的事务机制 Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化,按顺序地执行。事务执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis事务主要作用就是串联多个命令防止别的命令插队Multi、Exec、discard输入Milti命令开始,输入的命令都会依…
2021/10/16 19:11:13 人评论 次浏览