题目链接:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=499题意:就是判断图中有无负环
SPFA,某个节点入队次数大于n就是有负环。代码:#include
#include
#include <string...
分类:
其他好文 时间:
2015-08-14 01:08:17
阅读次数:
174
和栈类似,队列queue也是表。然而,使用队列时插入在一端进行而删除在另一端进行。
队列的基本操作是enqueue(入队)和dequeue(出队),入队是在队尾rear(表的末端)插入一个元素,出队是删除在队头front(表的开头)的元素。
和栈一样,对于队列而言任何表的实现都可以,而且对于每种操作,链表实现和数组实现都是快速的O(1)时间。下面主要讨论队列的循环数组实现。
对于每一个队列数...
分类:
编程语言 时间:
2015-08-13 20:10:14
阅读次数:
111
Scala 堆叠Traits实现对方法或函数的增强 简单的来说,堆叠Trait类似于AOP,实现对方法功能的增强,而不去修改原有方法的逻辑。 比如我们实现一个队列,我们可以定义一个队列的抽象类,实现入队和出队操作,用sca...
分类:
其他好文 时间:
2015-08-12 19:58:16
阅读次数:
238
队列不同于栈,它是先进先出,即先入队列的元素提取时也要先出队列。队列可以用数组实现也可以用链表实现,挺简单的,但是很有些情况下很有用。它的实现只要维持好队首和队尾指针就好了。下面是我实现的链表队列。
queue.h
#ifndef __QUEUE_H
#define __QUEUE_H
#include
#include
struct QueueNode;
struct queue;
...
分类:
编程语言 时间:
2015-08-11 23:29:13
阅读次数:
196
Treap是一种动态平衡二叉树结构,具有期望的O(log2n)的复杂度。适用于动态区间数据的查询、更改、维护等操作。题目大意一组数从前向后插入队列中,插入的过程中会有查询,查询当前队列中的第k小的数。题目分析对于数据的查询,可以考虑使用treap这种平衡二叉树来实现。而且treap这种动态平衡树结构...
分类:
其他好文 时间:
2015-08-10 13:24:04
阅读次数:
80
类似于链表和堆栈,队列也是存储数据的结构。队列中数据进入队列的顺序很重要,一般来说,队列就是一群人或者事物按照排好的顺序等待接受服务或者处理。 定义:队列,又称为伫列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允...
分类:
其他好文 时间:
2015-08-10 10:35:07
阅读次数:
245
今天在使用Delphi的队列的时候,需要在每次将一个record压入队列的时候对该record进行New操作(分配内存空间),然后将该指针压入到队列,大概 的代码如下unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, ...
【题目大意】给出一张无向图,求出从源点到终点的次短边。【思路】先来谈谈Dijkstra的优化。对于每次寻找到当前为访问过的点中距离最短的那一个,运用优先队列进行优化,避免全部扫描,每更新一个点的最短距离就加入优先队列。有人会问,一个点如果已经处理完成了,那它还留在队列中怎么办?我们放入队列时将一个点...
分类:
数据库 时间:
2015-08-06 00:25:23
阅读次数:
240
一开始T了,因为某些个结点被重复扩展了多次,科学做法是topo排序,每次只把入度为0的点放入队列,这样就严格保证了每个结点只被扩展一次。#includeusing namespace std;#define eps 1e-9#define bug(x) cout son[maxn];int St,T...
分类:
其他好文 时间:
2015-08-05 10:09:34
阅读次数:
145
【题目大意】给出每两种货币之间交换的手续费和汇率,求出从当前货币s开始交换,能否赚。【思路】反向运用SPFA,判断是否有正环。每次队首元素出队之后,判断一下到源点s的距离是否增大,增大则返回true。一开始判断正环的思路如果有一个元素入队超过n次,则说明存在正环。后来发现这个思路是不适用的,因为这个...
分类:
其他好文 时间:
2015-08-05 00:35:41
阅读次数:
193