一、源码解析LinkedList也和ArrayList一样实现了List接口,但是它执行插入和删除操作时比ArrayList更加高效,因为它是基于链表的。基于链表也决定了它在随机访问方面要比ArrayList逊色一点。除此之外,LinkedList还提供了一些可以使其作为栈、队列、双端队列的方法。这...
分类:
编程语言 时间:
2014-09-01 10:30:32
阅读次数:
318
题目大意:按顺序给出一些点。可以构成一个多边形,问多边形是否有核。
解题思路:
半平面交。模版题。
用的是ZZY的O(Nlogn)的算法。
算法大体思路是这样的:
step1. 将所有半平面按极角排序,对于极角相同的,选择性的保留一个。 O(nlogn)
step2. 使用一个双端队列(deque),加入最开始2个半平面。
step3. 每次考虑一个新的半平面:
a.whi...
分类:
其他好文 时间:
2014-08-28 14:55:09
阅读次数:
264
双端队列deque是容器的一种,借助《STL源代码剖析》讲解双端队列的内存结构以及基本操作。...
分类:
其他好文 时间:
2014-08-14 01:36:27
阅读次数:
367
《STL源代码剖析》的双端队列的源代码剖析。...
分类:
其他好文 时间:
2014-08-14 01:35:47
阅读次数:
354
1.ArrayDeque, (数组双端队列)? 2.PriorityQueue, (优先级队列)? 3.ConcurrentLinkedQueue, (基于链表的并发队列) 4.DelayQueue,???????????????????????????????????...
分类:
其他好文 时间:
2014-07-29 16:19:49
阅读次数:
327
当前的手机架构使用着多种处理器间通信方式,目前分离式AP、CP流行的接口有SPI、I2C、UART、USB和双端口互联等,SoC式则采用共享内存。控制命令以消息的格式在基带处理器和AP处理器间传送,完成通话、短消息、移动上网等功能,通信协议包括传统AT命令、MBIM等。一般来说,芯片都会支持多种接口,并设计通用的软件驱动平台驱动。...
分类:
其他好文 时间:
2014-07-17 20:29:11
阅读次数:
265
LRU:最近最久未使用,为了得到这个最新最久的信息,需要一种策略来进行记录,如果加入类似时间戳式的字段,那么每次删除的时候,就必须通过遍历才能得到时间信息,或者对时间戳进行排序,但是无论哪种,都是需要额外的维护,维护成本都比较高。
广泛使用的策略是底层用双端队列来进行维护,双端使得在插入删除时操作更简单。而单单使用双端队列似乎还是不够,比如在get 时,还是需要顺序查找给定的key参数的,所以为...
分类:
编程语言 时间:
2014-07-05 23:30:57
阅读次数:
292
标准库:一些最爱
集合、堆和双端队列
集合
集合Set类位于sets模块中。
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> set(range(10))
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
集合是由序列(或其他可迭代的对象)构建的。主要用于检查成员资格,因此,副本是被忽略的:
>>> r...
分类:
编程语言 时间:
2014-07-02 08:44:12
阅读次数:
206
LinkedList是List接口的子类,它底层数据结构是双向循环链表。LinkedList还实现了Deque接口(double-end-queue双端队列,线性collection,支持在两端插入和移除元素).所以LinkedList既可以被当作双向链表,还可以当做栈、队列或双端队列进行操作......
分类:
其他好文 时间:
2014-06-25 11:50:14
阅读次数:
251
1.顺序容器的类型顺序容器:vector 支持快速随机访问list 支持快速插入/删除deque 双端队列顺序容器适配器:stack 后进先出(LIFO)栈queue 先进先出(FIFO)队列priority_queue 有优先级管理的队列
分类:
其他好文 时间:
2014-06-21 15:31:26
阅读次数:
235