Skip to content

Commit d14d7aa

Browse files
author
Scott Schneider
committed
Move paper references to end
1 parent 2085e87 commit d14d7aa

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

README.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,37 @@ algorithms.
1212
The algorithmic complexity of the algorithms is with respect to the size of the
1313
window.
1414

15-
A [tutorial](https://dl.acm.org/doi/abs/10.1145/3093742.3095107) and
16-
[encyclopedia](http://hirzels.com/martin/papers/encyc18-sliding-window.pdf)
17-
article provide more background on sliding window aggregation algorithms.
15+
A [tutorial][swag_tutorial] and [encyclopedia][swag_encyclopedia] article
16+
provide more background on sliding window aggregation algorithms.
1817

1918
## FIFO Algorithms
2019
- [DABA](cpp/src/DABA.hpp) and [DABA Lite](cpp/src/DABALite.hpp) are worst-case
21-
O(1). The reference paper for DABA is [Low-Latency Sliding-Window Aggregation in Worst-Case Constant Time](https://dl.acm.org/doi/abs/10.1145/3093742.3093925).
20+
O(1). The reference paper for DABA is
21+
[Low-Latency Sliding-Window Aggregation in Worst-Case Constant Time][debs2017].
2222
- [FlatFIT](cpp/src/FlatFIT.hpp) and [DynamicFlatFIT](cpp/src/DynamicFlatFIT.hpp)
2323
are average-case O(1) and worst-case O(*n*). The reference paper for FlatFIT is
24-
[FlatFIT: Accelerated Incremental Sliding-Window Aggregation For Real-Time Analytics](https://dl.acm.org/doi/abs/10.1145/3085504.3085509).
24+
[FlatFIT: Accelerated Incremental Sliding-Window Aggregation For Real-Time Analytics][ssdbm2017].
2525
Dynamic FlatFIT is an adaptation of FlatFIT that allows window resizing.
2626
- [IOA](cpp/src/OkasakisQueue.hpp) is the Imperative Okasaki Aggregator and it is
2727
worst-case O(1). It is based on Chris Okasaki's real time queues. The reference
28-
paper for IOA is [Low-Latency Sliding-Window Aggregation in Worst-Case Constant Time](https://dl.acm.org/doi/abs/10.1145/3093742.3093925).
28+
paper for IOA is [Low-Latency Sliding-Window Aggregation in Worst-Case Constant Time][debs2017].
2929
- [Two-Stacks](cpp/src/TwoStacks.hpp) and [Two-Stacks Lite](cpp/src/TwoStacksLite.hpp)
3030
are average-case O(1) and worst-case O(*n*). Two-Stacks was originally described by
31-
[Jon Skeet on Stack Overflow](https://stackoverflow.com/questions/685060/design-a-stack-such-that-getminimum-should-be-o1).
31+
[Jon Skeet on Stack Overflow][skeet2009].
3232

3333
## General Algorithms
3434
- [FiBA](cpp/src/FiBA.hpp) is the Finger B-Tree Aggregator and it is
3535
average-case O(log *d*) where *d* is the distance the newly arrived item is from
3636
being in-order, and worst-case O(log *n*). For in-order data, this reduces to
3737
average-case O(1) and worst-case O(log *n*). The reference paper for FiBA is
38-
[Optimal and General Out-of-Order Sliding-Window Aggregation](http://www.vldb.org/pvldb/vol12/p1167-tangwongsan.pdf).
38+
[Optimal and General Out-of-Order Sliding-Window Aggregation][vldb2019].
3939
- [Reactive](cpp/src/Reactive.hpp) is worst-case O(log *n*). The reference paper is
40-
[General Incremental Sliding-Window Aggregation](http://www.vldb.org/pvldb/vol8/p702-tangwongsan.pdf).
40+
[General Incremental Sliding-Window Aggregation][vldb2015].
41+
42+
[swag_tutorial]: https://dl.acm.org/doi/abs/10.1145/3093742.3095107
43+
[swag_encyclopedia]: http://hirzels.com/martin/papers/encyc18-sliding-window.pdf
44+
[debs2017]: https://dl.acm.org/doi/abs/10.1145/3093742.3093925
45+
[ssdbm2017]: https://dl.acm.org/doi/abs/10.1145/3085504.3085509
46+
[skeet2009]: https://stackoverflow.com/questions/685060/design-a-stack-such-that-getminimum-should-be-o1
47+
[vldb2019]: http://www.vldb.org/pvldb/vol12/p1167-tangwongsan.pdf
48+
[vldb2015]: http://www.vldb.org/pvldb/vol8/p702-tangwongsan.pdf

0 commit comments

Comments
 (0)