一、同步容器 主要代表有Vector和Hashtable,以及Collections.synchronizedXxx等。 锁的粒度为当前对象整体。 迭代器是及时失败的,即在迭代的过程中发现被修改,就会抛出ConcurrentModificationException。 二、并发容器 主要代表有Con ...
分类:
其他好文 时间:
2018-05-25 13:39:03
阅读次数:
145
LinkedList简介 LinkedList是基于双向循环链表(从源码中可以很容易看出)实现的,除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用。 LinkedList同样是非线程安全的,只在单线程下适合使用。 LinkedList实现了Serializable接口,因此它支持序列化 ...
分类:
其他好文 时间:
2018-05-24 16:36:23
阅读次数:
195
ArrayDeque是java中对双端队列的线性实现 一.特性 1. 无容量大小限制,容量按需增长; 2. 非线程安全队列,无同步策略,不支持多线程安全访问; 3. 当用作栈时,性能优于Stack,当用于队列时,性能优于LinkedList 4. 两端都可以操作 5. 具有fail fast特征 6 ...
分类:
其他好文 时间:
2018-05-24 01:11:44
阅读次数:
266
"题目链接" 有两个双端队列每次每人可以从任意一堆的头或尾取值,两人均采取最优策略,问先手的最后得分 很简单的博弈 cpp include include include using namespace std; const int inf = 1000000000; int T, N, A[25] ...
分类:
其他好文 时间:
2018-05-20 21:24:08
阅读次数:
180
原创博文,转载请注明出处! # 题目 # 思路 利用C++中的双端队列保存有可能是滑动窗口最大值的下标,其中队首元素保存当前窗口最大值的下标。当滑动窗口改变时,更新队列。队列更新的规则:(1)新元素依次与队尾元素比较,如果队尾元素小于新元素,则删除队尾元素,直至队列中没有小于新元素的值。(2)更新队... ...
分类:
编程语言 时间:
2018-05-14 16:54:34
阅读次数:
240
# 模块,python文件 写好了但不直接使用的功能#import time /os/sys#为什么这些模块提供的方法,不能直接使用,需要先导入?#常用的和某个操作相关的分成不同的模块# 模块种类:内置模块 拓展模块 自定义模块# collections# 1.namedtuple: 生成可以使用名 ...
分类:
其他好文 时间:
2018-05-12 11:19:29
阅读次数:
188
collection 模块 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要用来计数 4.OrderedDict: 有序字典 5.defaultdict: 带有默认值的字典 na ...
分类:
编程语言 时间:
2018-05-12 10:25:56
阅读次数:
175
洛谷数据好强啊,普通spfa开o2都过不了,要加双端队列优化 因为是双向边,所以dis(u,v)=dis(v,u),所以分别以pa1和pa2为起点spfa一遍,表示pb pa1 pa2和pb pa2 pa1,取个min即可 cpp include include include using name ...
分类:
移动开发 时间:
2018-05-08 22:24:50
阅读次数:
260
按老师上课的话来总结,队列变化多端: 普通模板没有代价: 普通队列FIFO 01代价: 双端队列,单调队列 任意代价: 优先队列/堆,最短路SPFA/DIJKSTRA ...
分类:
其他好文 时间:
2018-05-06 20:00:06
阅读次数:
124
算法分类合集 ACM 所有算法 数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列双端队列可并堆左偏堆 二叉查找树Treap伸展树 并查集集合计数问题二分图的识别 平衡二叉树 二叉排序树 线段树一维线段树二维线段树 树状数组一维树状数组N维树状数组 字典树 后缀数组,后缀树 块状链表 哈夫曼树 ...
分类:
编程语言 时间:
2018-05-06 01:40:10
阅读次数:
228