事务命令: multi 开启事务,此时输入的命令会入队FIFO。 exec 依次执行队列中的命令,即使遇到执行错误的命令,也不会影响其他命令,redis没有事务回滚机制。 discard 放弃事务 watch CAS乐观锁,用法是在multi命令之前执行,监控某个key值,如果在命令输入完成后执行e ...
分类:
其他好文 时间:
2020-01-29 18:11:26
阅读次数:
88
堆排序算法。堆堆又被称为优先队列。按照元素的优先级取出元素。普通队列:先进先出;后进后出优先队列:出队顺序和入队顺序无关;和优先级相关在优先队列的内部,元素的次序却是由”优先级”来决定的:高优先级的元素排在队首,而低优先级的元素排在后面。优先队列入队操作比较复杂,需要将元素根据优先级尽量排到队列前面... ...
分类:
编程语言 时间:
2020-01-29 12:12:14
阅读次数:
94
广度优先搜索(Breadth First Search, BFS) BFS算法实现的一般思路为: // BFS void BFS(int s){ queue<int> q; // 定义一个队列 q.push(s); // 队首元素入队 while (!q.empty()){ // 取出队首元素top ...
分类:
其他好文 时间:
2020-01-27 18:50:43
阅读次数:
68
spfa 有负边时使用 复杂度可以被卡到nm(坑:怎么卡?) 判负环(一个点入队了n次) djkstra 每次走最短的路 有负边时不能使用 每次出队一个点(logn),更新点的所有边(均摊m),所以(n+m)logn 没有负边求最短路不要作死用spfa。。。 ...
分类:
其他好文 时间:
2020-01-27 11:08:53
阅读次数:
67
判负环 跑$SPFA$时,设$sp\_cnt[x]$表示从$x$入队次数,若更新时, $sp\_cnt[y]\gt n$ ,则说明图中有负环,算法正常结束,则图中无负环 差分约束 差分约束系统即为$n$元一次不等式组,每个约束条件都是由两个变量作差构成的,形如$x_i x_i \leqslant c ...
分类:
其他好文 时间:
2020-01-22 21:48:27
阅读次数:
65
$\color{ FF7D00}{题目描述}$ 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 $\color{ FF7D00}{解题:借用队列存一个节点,遍历它的值以及左右孩子的值之后,将左右孩子依次入队列,再循环如此的操作直至队列为空。}$ ...
分类:
其他好文 时间:
2020-01-19 12:52:03
阅读次数:
55
一.队列的基本概念 队列是一种特殊的线性表,其插入操作只能在表的尾部进行,删除操作只能在表头进行。在队列中允许进行插入操作的一端称为队尾,允许进行删除操作的另一端称为队首。在队列{a0,a1,...an-1}中a0称为队首元素,an-1称为队尾元素。通常,队列的插入操作叫做入队,队列的删除操作叫做出 ...
分类:
其他好文 时间:
2020-01-18 00:57:42
阅读次数:
96
概述 ReentrantLock是一个可重入的互斥锁,也被称为独占锁。它支持公平锁和非公平锁两种模式。 ReentrantLock的使用方法 下面看一个最初级的例子: 在进入方法后,在需要加锁的一些操作执行之前需要调用lock方法,在jdk文档中对lock方法详细解释如下: 获得锁。 如果锁没有被另 ...
分类:
其他好文 时间:
2020-01-17 18:47:35
阅读次数:
67
C++中的queue 实现一种先进先出的数据结构,是一个模板类 头文件 #include<queue> queue<int> Q; //定义一个int型队列 Q.empty(); //返回队列是否为空 Q.size(); //返回当前队列长度 Q.front(); //返回当前队列的第一个元素 Q. ...
分类:
编程语言 时间:
2020-01-17 10:10:29
阅读次数:
361
1、线程池工作原理 Java线程池主要用于管理线程组及其运行状态。其主要作用是线程复用、线程资源管理、控制操作系统的最大并发数。 Java线程池的工作原理:JVM先根据用户的参数创建一定数量的可运行的线程任务,并将其放入队列中,在线程创建后启动这些任务,如果线程数量超过了最大线程数量,则超出数量的线 ...
分类:
编程语言 时间:
2020-01-16 22:11:42
阅读次数:
77