在数据结构中有个讲述如何模拟银行排队,最终算出每个人平均的逗留时间。
这是需要数据结构的知识。将银行的每个窗口看成是一个队列,那么对于每次来一个人,都需要从最短的队列进行排队。(其实更优秀的做法是从最短的等待时间队列来排队)。
这里的做法是这样的,首选在一个队列中插入一个人,整个事件是事件驱动的,每次去检查所有队列,删除那些业务用时已经超出的人,然后选择最短的队列来插入一个人,也就是说,每次插...
分类:
微信 时间:
2015-04-30 16:15:21
阅读次数:
263
转自:http://www.cnblogs.com/me115/p/3471788.htmlMQ通道配置通道是用来连接两个队列管理器的;在单个队列管理器内读写消息不需要建立通道;但在一个队列管理器中写入消息,而从另一个队列管理器中的队列取出消息,这就需要建立通道;通道,对跨机和本机的队列管理器不做区...
分类:
其他好文 时间:
2015-04-29 17:00:21
阅读次数:
168
队列(Queue):模拟队列的数据操作。例如,排队买票就是一个队列操作,后来的人排在后面,先来的人排在前面,并且买票请求先被处理。为了模拟队列的操作,Queue在ArrayList的基础上加入了以下限制1.元素采用先入先出机制(FIFO,First In First Out),即先进入队列的元素必须...
栈是先进后出的,队列是先进先出的。栈顶在上面,栈是向上生长的,每次数据操作是压栈,最后的数据元素指向栈顶。实例:用两个栈实现队列题目:用两个栈实现一个队列,队列的声明如下,请实现他的连个函数,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 1 templateclass CQueue 2 {...
分类:
其他好文 时间:
2015-04-27 19:58:59
阅读次数:
151
题目如下:题目给出的例子不太好,容易让人误解成不断顺着右节点访问就好了,但是题目意思并不是这样。换成通俗的意思:按层遍历二叉树,输出每层的最右端结点。这就明白时一道二叉树层序遍历的问题,用一个队列来处理,但是问题是怎么来辨别每层的最右端结点,我思考了半天,最后想出的办法是利用一个标记位,例如上面的例...
分类:
编程语言 时间:
2015-04-27 00:08:55
阅读次数:
232
用一个队列模拟,还有一个数组cnt记录9个优先级的任务的数量,每次找到当前最大优先级的任务然后出队,并及时更新cnt数组。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 ...
分类:
其他好文 时间:
2015-04-25 10:38:07
阅读次数:
114
http://poj.org/problem?id=3617题目大意:1.给一串有顺序的大写字母,作为输入2.每次把输入的第一个或是最后一个位置的字母拿出来,放到一个队列中3.要求新队列的字典序最小思路:贪心算法1.首尾字母不等的,取较小的2.首位字母相等,比较下一轮的两个字母来决定取哪个(还是相等...
分类:
其他好文 时间:
2015-04-23 15:10:13
阅读次数:
208
有一台机器具有三个任务:一个制作吐司、一个给吐司摸黄油、另一个在抹过黄油的吐司上涂果酱。我们可以通过各个处理过程之间的BlockingQueue来运行这个吐司制作程序。也就说我们可以利用三个阻塞队列LinkedBlockingQueue,一个任务完成后就把这个Toast放到下一个队列中,维护三个队列就能做到了。
class Toast {
public enum Status {DRY, BU...
分类:
其他好文 时间:
2015-04-22 00:37:51
阅读次数:
168
gcd这个东西对于开发ios的人应该都听说过,但是很多东西感觉理解起来感觉是有点问题。今天又看了一些关于gcd的东西,现在来说说一些我自己对理解。我认为gcd最重要的事理解队列,还有同步任务,和异步任务。首先是队列这个东西,很多人一开始会认为一个队列就是一个线程。这个认知是错误的,队列是什么,其实就...
分类:
其他好文 时间:
2015-04-20 22:33:42
阅读次数:
160
二分/堆 求一个最小的区间使得包含所有的颜色(并不一定只出现一次)$n\leq 10^6$ 我想的做法是:二分这个最小的长度(满足单调性……好久才想到QAQ),然后O(n)判断是否有可行的区间,这一步可以用一个队列来维护,统计区间内颜色的数量(应该不难吧……)如果队首与队尾元素距离>mid就弹队.....
分类:
其他好文 时间:
2015-04-17 22:05:57
阅读次数:
193