au AARHUS UNIVERSITY
),1$/ REPORT Center for Massive Data Algorithmics 2007 - 201
MADALGO - a Center of the Danish National Research Foundation / Department of Computer Science / Aarhus University
When initiated in 2007, the ambitious goal of the Danish National Research Foundation Center for Massive Data Algorithmics (MADALGO) was to become a world-leading center in algorithms for handling massive data. The high-level objectives of the center were: x To significantly advance the fundamental algorithms knowledge in the area of efficient processing of massive datasets; x To educate the next generation of researchers in a world-leading and international environment; x To be a catalyst for multidisciplinary collaborative research on massive dataset issues in commercial and scientific applications.
Building on the research strength at the main center site at Aarhus University in Denmark, and at the sites of the other participants at Max Planck Institute for Informatics and at Frankfurt University in Germany, and at Massachusetts Institute of Technology in the US, as well as on significant international research collaboration, multidisciplinary and industry collaboration, and in general on a vibrant international environment at the main center site, I believe we have met the goal.
Following the guidelines of the Foundation, this report contains a short reflection on the center’s results, impact and international standing (section A), along with appendices with statistics on patents and spin-off companies (section A) and the statistics collected by the Foundation (section C). It also contains 10 publications reflecting the breadth and depth of center research.
Lars Arge Center Director May, 2016
Final report A. Center results, impact and international standing
Center Results. A key motivation for establishment of Center for Massive Data Algorithmics was the inadequacy of traditional algorithms theory in many applications involving massive amounts of data. In particular, traditional algorithm theory use simplistic machine models (mathematical model in which algorithms are designed and analyzed) that do not take the hierarchical memory organization of modern machines into account. This translates into software inadequacies when processing massive data. Based on an ambitious research plan, center researchers have obtained a large number of results centered around four key areas that all relate to the design of algorithms in more realistic models of computations than traditional algorithm theory. Below we briefly highlight a few results (corresponding to the 10 selected papers). In the area of I/O-efficient algorithms, the goal is to design algorithms in a model of computation that takes the large access time of disk (compared to main memory) into account. Center results on fundamental problems in the area include results on sorting algorithms that are provably optimal in terms of both I/O and internal memory computation time (selected paper 1, which won the best paper awards at the 2013 ISAAC conference). Center researchers have also obtained results on processing of massive terrain data, including several results on modeling water flow on terrains, such as for example algorithms for computing how depressions in a terrain fills with water as it rains (paper 2, which appeared in the top computational geometry conference SoCG). Overall, we believe center work in the area has been very successful. In the area of cache-oblivious algorithms, the aim is to develop algorithms that automatically adapt to the unknown multiple levels of modern memory hierarchies. Developing cache-oblivious algorithms is very challenging; at the start of the center, techniques for obtaining cache-oblivious algorithms was not very developed and the fundamental limitations in the area not well understood. Center researchers have obtained a good number of results in the area, and e.g. developed new fundamental techniques used to obtain an optimal cache-oblivious data structure that allows for fast search for a data element among a set of elements (paper 3, which appeared in the top algorithms conference SODA). However, overall we have not made as much progress on cache-oblivious problems as we would have liked. In the area of streaming algorithms, the aim is to develop algorithms that only perform one sequential pass over the input data, while processing each input element as fast as possible using significantly less space than the input data size. Center researchers have obtained a large number of results in the area. For example, we have developed the first optimal algorithm for the well-studied and fundamental problem of estimating the number of distinct elements in a stream (paper 4, which won the best paper awards at the top theoretical database conference PODS in 2010). We have also obtained a large number of results in relation to the so- called linear sketching technique, and recently we showed the very first known lower bounds on how fast data stream elements can be processed (paper 5, which appeared in the top theoretical computer science conference STOC). Overall, we believe center work in the area has been very successful. The area of algorithm engineering covers the design and analysis of practical algorithms, their efficient implementation, as well as experimentation that provides insight into their applicability and further improvement. Center researches have in particular engineered many I/O-efficient algorithms. For example, the center has had great success with engineering algorithms for flood risk analysis using detailed (and thus massive) terrain data. This work includes implementation of results on how depressions fill during a rain event mentioned above (paper 2) and recent work on modelling and computing flood risk from water rising in rivers (paper 6, which appear in the good geographic information systems conference GIScience). It also formed the basis of the center startup company SCALGO, which has very successfully marketed flood risk analysis products based on the openly available detailed terrain model of Denmark. For example, the depression risk analysis results (paper 2) formed the basis of analysis purchased by more than half of the local Danish governments. Center algorithm engineering work has also formed the basis for collaboration with several other companies, as well as for extensive collaboration with researchers in other fields, in particular biology (bioinformatics and biodiversity) researchers. The river flood risk research (paper 6) is e.g. performed with a number of biology researchers, and the collaboration has also led to a Science paper (paper 7). Overall, we believe center algorithm engineering work has been very successful. In addition to the above four core areas, center researchers have obtained a large number of results on research questions in relation to e.g. models of parallel computation, flash memory, fault tolerance, memory efficient (succinct) data structures, as well as to fundamental problems in more traditional models of computation, in particular data structure and lower bound problems. As a few examples, center researchers have solved longstanding open problems in succinct (paper 8, which won the best student paper award at the top theoretical computer science conference FOCS in 2008) and priority queue (paper 9, which appeared in top theoretical computer science conferences STOC and is co-authored by Turing Award winner
Final report Tarjan) data structures. Much of the center’s data structure work (in various models of computation) has been on fundamental range searching problems (storing a set of d-dimensional points such that points in a query range can be identified efficiently), and we have e.g. showed very strong lower bound tradeoffs between search and update time for several variants of the problem (paper 10, which won both best paper and best student paper awards in the top theoretical computer science conferences STOC in 2012).
A key goal of the center has been to educate the next generation of researchers in a world-leading and international environment. Altogether, 28 PhD students have graduated from the center (19 from AU), and the center currently houses 14 PhD students (7 at AU). Among the 26 students at AU, 12 students are internationals. Additionally, the center has hosted 24 Post Doc (22 at AU). The center has emphasized creation of a vibrant and international environment at the main center site at AU. The center has hosted numerous research visitors, just as we have organized annual summer schools at the center. The summer school series has been very successful, with around 70 participants from 30+ institutions attending every year. The center has also hosted the top computational geometry conference (SoCG) in 2009, and is hosting the top European algorithms event ALGO (including the top European algorithms conference ESA) in 2016. The center also initiated Workshop on Massive Data Algorithmics (MASSIVE) in 2009 and the successful workshop has been held every year since in connection with SoCG or ALGO.
Center international standing and impact. Overall, we believe the center has been very successful. From a purely bibliometric point of view, this can e.g. be seen from the fact that in the last four years, center researchers have published 90+ peer-reviewed papers a year, with consistently 10+ papers in the top three general theoretical computer science conferences STOC, FOCS and SODA. According to google scholar, center papers have received 12.000+ citations (steadily increasing over the years and reaching 3000 in 2015). This is an exceptionally good record in theoretical computer science, and the center strength is confirmed by the many center best papers award, the around 30 annual invited presentations at research conferences, workshops and seminars given by center researchers, as well as by the numerous awards and recognitions received by center members. On a more subjective level, we believe that the center is among the top algorithms research centers in Europe (possibly only rivaled by the Max Planck Institute for Informatics). We believe the center is the top institution worldwide in I/O-efficient algorithms and possibly also in cache- oblivious algorithms, among the top in streaming algorithms and algorithm engineering, as well as among the top in data structures (including lower bounds) in general. This was confirmed by the international evaluation of the center in 2011, where the panel concluded that “MADALGO is a truly international research center with high visibility and respect in the worldwide computer-science community. There is no doubt that it is the world-leading center in the area of massive dataset algorithmics”.
In terms of broader impact, we believe that the center has contributed significantly to the transformation of the algorithms field, from a very theoretical field where results are proved in elegant but somewhat unrealistic models of computation, to a field where practical applicability of theoretical results is a key focus. This general transformation has occurred worldwide during the last decade, and the center focus on new and more practically realistic models of computation has certainly contributed to the transformation. Similarly, the center’s focus on understanding practical performance through algorithm engineering has contributed to the field of algorithm engineering gaining worldwide recognition. Supported by algorithm engineering work, the center has certainly also had an impact in terms of interdisciplinary and industry collaboration, including by contributing to the transformation of parts of the biological sciences to being more data driven, and by introducing innovative research based products in the marked through SCALGO (which e.g. also is involved in producing sea-charts for Greenland and contour maps for Denmark in collaboration with Danish authorities). On several occasions, the center’s collaborative activities and success in transforming research into innovative products has been highlighted as examples of the broader impact of basic research, for example when the Minister for Higher Education and Science visited the center in 2013. In general, the center has prioritized outreach events and maintaining a good public visibility. The center has also had an impact in terms of education of PhD students and Post Docs. The many center PhDs and Post Docs are now excellent ambassadors in research institutions and industry worldwide, and in general we believe that the international visibility and recognition of the center, also supported by the many international events the center has organized and participated in, will have a lasting impact on Danish algorithms research. Concretely, the center locally at AU contributed to development of the streaming algorithms area (which was not really present in Denmark at the start of the center), and is now contributing to buildup in related areas such as Machine Learning and “Big Data”. For example, recent Big Data faculty candidates have specifically mentioned center strength and visibility as a reason for applying to AU.
Final report B. Appendices
Appendix a: Patents and spin-off companies Number of mutually Number of inventions Number of submitted Number of granted agreed licence, sale Names of spin-off reported to institution patent applications patents and option companies established agreements
Scalable Algorithmics (SCALGO Appendix b: Center publications
Number of publications (May 2016) Peer-reviewed (OA) Not peer-reviewed (OA) Journal articles 204 (137) + 11 accepted 0 Conference proceedings 413 (226) 30 (20) Monographs 0 (0) 2 (0) Book chapters 2 (0) 0 (0) Others 0 (0) 96 (24)
The 10 most prestegious conferences within the Center's research area 1. ACM Symposium on Theory of Computing (STOC) 2. IEEE Symposium on Foundations of Computer Science (FOCS) 3. ACM-SIAM Symposium on Discrete Algorithms (SODA) 4. Symposium on Computational Geometry (SoCG) 5. International Colloquium on Automata, Languages, and Programming (ICALP) 6. European Symposium on Algorithms (ESA) 7. ACM Symposium on Parallelism in Algorithms and Architectures (SPAA) 8. International Workshop on Approximation Algorithms for Combinatorial Optimization Problems (APPROX)/ International Workshop on Randomizationand Computation (RANDOM) 9. Scandinavian Workshop on Algorithm Theory (SWAT)/ Algorithms and Data Structures Symposium (WADS), previously Workshop on Algorithms and Data Structures 10. Workshop on Algorithm Engineering and Experiments (ALENEX)
The 10 most prestegious journals in the Center's research area 1. Journal of the ACM 2. SIAM Journal on Computing 3. ACM Transactions on Algorithms 4. Discrete & Computational Geometry 5. Algorithmica 6. Journal of Computer and System Sciences 7. Computational Geometry: Theory and Applications 8. ACM Journal of Experimental Algorithmics 9. Theoretical Computer Science 10. Journal of Discrete Algorithms
Bibliometric information Distribution of center publications on 10 most prestigious conferences: 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 STOC 10 0 03411 4 ? FOCS 17 3 23103 4 ? SODA 06 5 6611117 5 5 SoCG 05 3 32322 3 5 ICALP 10 7 13254 0 4 ESA 31 0 31532 2 ? SPAA 31 0 31102 0 ? APPROX/RANDOM 01 0 13000 0 ? SWAT/WADS 13 6 13122 5 ? ALENEX 00 1 01012 1 1 STOC, FOCS and SODA can be rated as "best non specialized" conferences SoCG and ALENEX can be rated as "best specialized" conferences
Center publications have been authored by 924 unique authors - 130 associated with the center and 794 not. Only 203 center publications are by center researchers only. Citations to center publication (according to Google scholar, which is the most reliable - but certainly not perfect - source of citation information in the area) can be found at http://scholar.google.com/citations?user=fRowhXcAAAAJ Conference proceedings C1 2007 B. Escoffier, G. Moruz Adapting Parallel Algorithms Proc. International (PR)(CO) and A. Ribichini to the W-Stream Model, with Symposium on Mathematical Applications to Graph Foundations of Computer Problems Science (MFCS)
C2 2007 S. Guha, P. Indyk and A. Sketching Information Proc. Annual Conference on (PR)(CO) McGregor Divergences Learning Theory (COLT)
C3 2007 G. S. Brodal and A. G. A Linear Time Algorithm for Proc. International (PR)(CO) Jørgensen the k Maximal Sums Problem Symposium on Mathematical Foundations of Computer Science (MFCS)
C4 2007 G. S. Brodal, L. Dynamic Matchings in Proc. International (PR)(CO) Georgiadis, K. A. Hansen Convex Bipartite Graphs Symposium on Mathematical and I. Katriel Foundations of Computer Science (MFCS)
C5 2007 G. Jørgensen, G. Moruz Resilient Priority Queues Proc. International Workshop (PR) and T. Mølhave on Algorithms and Data Structures (WADS)
C6 2007 G. S. Brodal, R. Optimal Resilient Dynamic Proc. European Symposium (PR)(CO) Fagerberg, I. Finocchi, F. Dictionaries on Algorithms (ESA) Grandoni, G. Italiano, A. G. Jørgensen, G. Moruz and T. Mølhave
C7 2007 P. K. Agarwal, L. Arge, A. TerraStream: From Elevation Proc. ACM International (PR)(CO) Danner, H. Mitasova, T. Data to Watershed Symposium on Advances in Mølhave and K. Yi Hierarchies Geographical Information Systems (ACM-GIS)
C8 2007 M. Patrascu and Mikkel Planning for Fast Proc. IEEE Symposium on (PR)(CO) Thorup Connectivity Updates Foundations of Computer Science (FOCS) C9 2007 G. Franceschini, S. Radix Sorting With No Extra Proc. European Symposium (PR)(CO) Muthukrishnan, and M. Space on Algorithms (ESA) Patrascu C10 2007 E. D. Demaine, S. Mozes, An Optimal Decomposition Proc. International (PR)(CO) B. Rossman and O. Algorithm for Tree Edit Colloquium on Automata, Weimann Distance Languages and Programming (ICALP) C11 2007 M. A. Bender, M. Farach- Cache-Oblivious Streaming B- Proc. ACM Symposium on (PR)(CO) Colton, J. T. Fineman, Y. trees Parallelism in Algorithms and Fogel, B. C. Kuszmaul Architectures (SPAA) and J. Nelson
C12 2007 E. D. Demaine, M. Scheduling to Minimize Gaps Proc. ACM Symposium on (PR)(CO) Ghodsi, M. Hajiaghayi, A. and Power Consumption Parallelism in Algorithms and S. Sayedi-Roshkhar and Architectures (SPAA) M. Zadimoghaddam
C13 2007 M. Patrascu Lower Bounds for 2- Proc. ACM Symposium on (PR) Dimensional Range Counting Theory of Computing (STOC)
C14 2007 G. M. Landau, D. Tsur Indexing a Dictionary for Proc. Symposium on String (PR)(CO) and O. Weimann Subset Matching Queries Processing and Information Retrieval (SPIRE)
C15 2007 T. Friedrich and D. Ajwani Average-Case Analysis of Proc. International (PR) Online Topological Ordering Symposium on Algorithms and Computation (ISAAC) C16 2007 K. Chang Multiple pass streaming Proc. Algorithmic Learning (PR) algorithms for learning Theory (ALT) mixtures of distributions in R^d C17 2007 M. Westergaard, L. M. The ComBack Method - Proc. International (PR) Kristensen, G. S. Brodal Extending Hash Compaction Conference on Applications and L. Arge with Backtracking and Theory of Petri Nets and Other Models of Concurrency (ICATPN)
C18 2007 M. A. Bender, G. S. Optimal Sparse Matrix Dense Proc. ACM Symposium on (PR)(CO) Brodal, R. Fagerberg, R. Vector Multiplication in the Parallelism in Algorithms and Jacob and E. Vicari I/O-Model Architectures (SPAA)
C19 2007 A. Golynski, R. Grossi, A. On the Size of Succinct Proc. European Symposium (PR)(CO) Gupta, R. Raman and S. Indices on Algorithms (ESA) S. Rao C20 2007 M. Olsen Nash Stability in Additively Proc. Conference on (PR) Separable Hedonic Games is Computability in Europe (CiE) NP-hard
C21 2008 M. Ruzic and P. Indyk Near-Optimal Sparse Proc. Symposium on (PR)(CO) Recovery in the L1 norm Foundations of Computer Science (FOCS) C22 2008 M. Patrascu (Data) STRUCTURES Proc. Symposium on (PR) Foundations of Computer Science (FOCS) C23 2008 M. Patrascu Succincter Proc. Symposium on (PR) Foundations of Computer Science (FOCS) C24 2008 E. Demaine, S. Confluently Persistent Tries Proc. Scandinavian Workshop (PR)(CO) Langerman and E. Price for Efficient Version Control on Algorithm Theory (SWAT)
C25 2008 D. Ajwani, I. Malinger, U. Characterizing the Proc. Workshop on (PR)(CO) Meyer and S. Toledo Performance of Flash Experimental Algorithms Memory Storage Devices and (WEA) Its Impact on Algorithm Design C26 2008 U. Meyer On Dynamic Breadth-First Proc. Symposium on (PR) Search in External-Memory Theoretical Aspects (STACS)
C27 2008 U. Meyer On Trade-Offs in External- Proc. Scandinavian Workshop (PR) Memory Diameter on Algorithm Theory (SWAT) Approximation C28 2008 G. S. Brodal and A. G. Selecting Sums in Arrays Proc.International (PR) Jørgensen Symposium on Algorithms and Computation (ISAAC) C29 2008 L. Arge, G. S. Brodal and External Memory Planar Proc. Symposium on (PR) S. S. Rao Point Location with Computational Geometry Logarithmic Updates (SoCG) C30 2008 A. Golynski, R. Raman On the Redundancy of Proc. Scandinavian Workshop (PR)(CO) and S. S. Rao Succinct Data Structures on Algorithm Theory (SWAT)
C31 2008 M. Olsen The Computational Proc. International (PR) Complexity of Link Building Conference on Computing and Combinatorics (COCOON)
C32 2008 M.A. Abam, M. de Berg A Simple and Efficient Kinetic Proc. Symposium on (PR)(CO) and J. Gudmundsson Spanner Computational Geometry (SoCG) C33 2008 L. Arge, M.T. Goodrich, Fundamental Parallel Proc. Symposium on (PR)(CO) M. Nelson and N. Algorithms for Private-Cache Parallelism in Algorithms and Sitchinava Chip Multiprocessors Architectures (SPAA)
C34 2008 L. Arge, T. Moelhave and Cache-Oblivious Red-Blue Proc. European Symposium (PR)(CO) N. Zeh Line Segment Intersection on Algorithm (ESA)
C35 2008 P.K. Agarwal, L. Arge, T. I/O-efficient Algorithms for Proc. Symposium on (PR)(CO) Moelhave and B. Sadri Computing Contour Lines on Computational Geometry a Terrain (SoCG) C36 2008 J. Feldman, S. On Distributing Symmetric Proc. Symposium on Discrete (PR)(CO) Muthukrishnan, A. Streaming Computations Algorithms (SODA) Sidiropoulos, C. Stein and Z. Svitkina C37 2008 P. Indyk Explicit Constructions for Proc Symposium on Discrete (PR) Compressed Sensing of Algorithms (SODA) Sparse Signals C38 2008 A. Andoni, P. Indyk and Earth Mover Distance over Proc. Symposium on Discrete (PR)(CO) R. Krauthgamer High-Dimensional Spaces Algorithms (SODA)
C39 2008 P. Indyk and A. Declaring Independence via Proc. Symposium on Discrete (PR)(CO) McGregor the Sketching of Sketches Algorithms (SODA)
C40 2008 K. Onak and A. Circular Partitions with Proc. Symposium on (PR)(CO) Sidiropoulos Applications to Visualization Computational Geometry and Embeddings (SoCG)
C41 2008 J. Matousek and A. Inapproximability for metric Proc. Symposium on (PR)(CO) Sidiropoulos embeddings into R^d Foundations of Computer Science (FOCS) C42 2008 N. J. A. Harvey, J. Nelson Sketching and Streaming Proc. Symposium on (PR)(CO) and K. Onak Entropy via Approximation Foundations of Computer Theory Science (FOCS) C43 2008 A. Andoni, D. Croitoru Hardness of Nearest Proc. Symposium on (PR)(CO) and M. Patrascu Neighbor under L-infinity Foundations of Computer Science (FOCS) C44 2008 T. Chan, M. Patrascu and Dynamic Connectivity: Proc. Symposium on (PR)(CO) L. Roditty Connecting to Networks and Foundations of Computer Geometry Science (FOCS) C45 2008 S. Mozes, K. Onak and Finding an Optimal Tree Proc. Symposium on Discrete (PR)(CO) Oren Weimann Searching Strategy in Linear Algorithms (SODA) Time C46 2008 A. Chakrabarti, T.S. Tight Lower Bounds for Proc. Symposium on Discrete (PR)(CO) Jayram and M. Patrascu Selection in Randomly Algorithms (SODA) Ordered Streams C47 2008 E. Demaine, T. Ito, Ni. J. On the Complexity of Proc. International (PR)(CO) A. Harvey, C. H. Reconfiguration Problems Symposium on Algorithms Papadimitriou, M. Sideri, and Computation (ISAAC) R. Uehara and Yushi Uno
C48 2008 E. Demaine, G. Aloupis, Reconfiguration of Cube- Proc. International (PR)(CO) S. Collette, S. Style Modular Robots Using Symposium on Algorithms Langerman, V. Sacristan O(log n) Parallel Moves and Computation (ISAAC) and S. Wuhrer
C49 2008 E. Demaine, M. Buadoiu, Ordinal Embedding: Proc. International Workshop (PR)(CO) M. Hajiaghayi, A. Approximation Algorithms on Approximation Algorithms Sidiropoulos and M. and Dimensionality Reduction for Combinatorial Zadimoghaddam Optimization Problems (APPROX)
C50 2008 E. Demaine, T. G. Hinged Dissections Exist Proc. Symposium on (PR)(CO) Abbott, Z. Abel, D. Computational Geometry Charlton, M. L. Demaine (SoCG) and S. D. Kominers
C51 2008 E. R. Hansen, S. S. Rao Compressing Binary Decision European Conference on (PR)(CO) and P. Tiedemann Diagrams Artificial Intelligence (ECAI)
C52 2008 R. Berinde, P. Indyk and Practical Near-Optimal Proc. Allerton Conference (CO) M. Ruzic Sparse Recovery in the L1 Norm (invited paper) C53 2008 R. Berinde, A. Gilbert, P. Combining Geometry and Proc. Allerton Conference (CO) Indyk, H. Karloff and M. Combinatorics: A Unified Strauss Approach to Sparse Signal Recovery (invited paper)
C54 2008 M.A. Abam, M. de Berg, Fault-Tolerant Conflict-Free Proc. Canadian Conference (CO) and S-H. Poon Coloring on Computational Geometry
C55 2009 R. Berinde, G. Cormode, Space-optimal Heavyhitters Proc. Symposium on (PR)(CO) P. Indyk and M. Strauss with Strong Error Bounds Principles of Database Systems (PODS) C56 2009 V. Cevher, C. Hegde, P. Recovery of Clustered Proc. International (PR)(CO) Indyk and R. G. Baraniuk Sparse Signal from Conference on Sampling Compressive Measurements Theory and Applications (SAMPTA) C57 2009 E. Demaine, G. Landau On Cartesian Trees and Proc. International (PR)(CO) and O. Weimann Range Minimum Queries Colloquium on Automata, Languages and Programming (ICALP) C58 2009 D. Hermelin, G. M. A Unified Algorithm for Proc. International (PR)(CO) Landau, S. Landau and Accelerating Edit-Distance Symposium on Theoretical O. Weimann Computation via Text- Aspects of Computer Science Compression (STACS)
C59 2009 A. Kovacs, U. Meyer, G. Online Paging for Flash Proc. International (PR) Moruz and A. Negoescu Memory Devices Symposium on Algorithms and Computation (ISAAC) C60 2009 G. Brodal, A. Jørgensen, Counting in the Presence of Proc. International (PR) G. Moruz and T. Mølhave Memory Faults Symposium on Algorithms and Computation (ISAAC) C61 2009 D. Ajwani, A. Beckmann, On Computational Models for Proc. Symposium on (PR)(CO) R. Jacob, U. Meyer and Flash Memory Devices Experimental Algorithms G. Moruz (SEA)
C62 2009 U. Meyer and V. Osipov Design and Implementation Proc. Workshop on Algorithm (PR) of a Practical I/O-efficient Engineering and Experiments Shortest Paths Algorithm (ALENEX)
C63 20009 U. Meyer Via Detours to I/O-Efficient Proc. Efficient Algorithms - Shortest Paths Essays dedicated to Kurt Mehlhorn on the Occasion of his 60th birthday C64 2009 D. Ajwani, R. Dementiev, Breadth First Search on Proc. Ninth DIMACS (PR) U. Meyer and V. Osipov Massive Graphs Implementation Challenge: The Shortest Path Problem
C65 2009 A. Beckmann, R. Building a Parallel Pipelined Proc. International (PR) Dementiev and J. Singler External Memory Algorithm Symposium on Parallel and Library Distributed Processing (IPDPS) C66 2009 G. S. Brodal and A. Data Structures for Range Proc. International (PR) Jørgensen Median Queries Symposium on Algorithms and Computation (ISAAC) C67 2009 G. S. Brodal, R. Online Sorted Range Proc. International (PR)(CO) Fagerberg, M. Greve and Reporting Symposium on Algorithms A. López-Ortiz and Computation (ISAAC) C68 2009 G. S. Brodal, A. Kaporis, Dynamic 3-sided Planar Proc. International (PR)(CO) S. Sioutas, K. Tsakalidis Range Queries with Expected Symposium on Algorithms and K. Tsichlas Doubly Logarithmic Time and Computation (ISAAC)
C69 2009 G. S. Brodal, A. Fault Tolerant External Proc. Algorithms and Data (PR) Jørgensen and T. Mølhave Memory Algorithms Structures Symposium (WADS) C70 2009 A. Kaporis, A.N. Efficient Processing of 3- Proc. International (PR)(CO) Papadopoulos, S. Sided Range Queries with Conference on Database Sioutas, K. Tsakalidis and Probabilistic Guarantees Theory (ICDT) K. Tsichlas C71 2009 M. Abam, M. de Berg, M. Geometric Spanners for Proc. European Symposium (PR)(CO) Farshi, J. Gudmundsson Weighted Point Sets on Algorithms (ESA) and M. Smid
C72 2009 M. Abam and M. de Berg Kinetic Spanners in R^d Proc. Symposium on (PR)(CO) Computational Geometry (SoCG) C73 2009 M. Abam, P. Carmi, M. On the Power of the Semi- Proc. Algorithms and Data (PR)(CO) Farshi and M. Smid Separated Pair Decomposition Structures Symposium (WADS) C74 2009 D. Ajwani On P-complete Problems in Proc. Workshop on Massive Memory Hierarchy Models Data Algorithmics (MASSIVE)
C75 2009 A. Farzan, R. Raman and Universal Succinct Proc. International (PR)(CO) S. Srinivasa Rao Representations of Trees? Colloquium on Automata, Languages and Programming (ICALP) C76 2009 R. Pagh and S. Srinivasa Secondary Indexing in One Proc. Symposium on (PR)(CO) Rao Dimension: Beyond B-trees Principles of Database and Bitmap Indexes Systems (PODS) C77 2009 R. Grossi, A. Orlandi, R. More Haste, Less Waste: Proc. International (PR)(CO) Raman and S. Srinivasa Lowering the Redundancy in Symposium on Theoretical Rao Fully Indexable Dictionaries Aspects of Computer Science (STACS)
C78 2009 J. E. Moeslund, P. K. Impacts of 21st Century Sea- IOP Conference Series: Earth (PR) Bøcher, J.-C. Svenning, level Rise on a Danish Major and Environmental Science 8 T. Mølhave and L. Arge City – An Assessment Based on Fine-resolution Digital Topography and a New Flooding Algorithm
C79 2009 M. de Berg and P. Rotated-Box Trees: A Proc. International (PR)(CO) Hachenberger Lightweight c-Oriented Symposium on Experimental Bounding-Volume Hierarchy Algorithms (SEA)
C80 2009 P. Afshani, L. Arge and K. Orthogonal Range Reporting Proc Symposium on (PR) Dalgaard Larsen in Three and Higher Foundations of Computer Dimensions Science (FOCS) C81 2009 P. Afshani, C. Hamilton A Unified Approach for Cache- Proc. Symposium on (PR)(CO) and N. Zeh Oblivious Range Reporting Computational Geometry and Approximate Range (SoCG) Counting
C82 2009 P. Afshani, C. Hamilton Cache-Oblivious Range Proc. Symposium on (PR)(CO) and N. Zeh Reporting With Optimal Computational Geometry Queries Requires Superlinear (SoCG) Space C83 2009 P. Afshani, J. Barbay and Instance-optimal Geometric Proc Symposium on (PR)(CO) T. Chan Algorithms Foundations of Computer Science (FOCS) C84 2009 L. Arge, M.T. Goodrich Parallel External Memory Proc. Workshop on Theory and N. Sitchinava Model and Many-Cores C85 2009 L. Arge and M. Revsbæk I/O-Efficient Contour Tree Proc. International (PR) Simplification Symposium on Algorithms and Computation (ISAAC) C86 2009 A. Andoni, P. Indyk, R. Approximate Line Nearest Proc. Symposium on Discrete (PR)(CO) Krauthgamer and H.L. Neighbor in High Dimensions Algorithms (SODA) Nguyen C87 2009 A. Andoni, P. Indyk and Overcoming the L1 Non- Proc. Symposium on Discrete (PR)(CO) R. Krauthgamer embeddability Barrier: Algorithms (SODA) Algorithms for Product Metrics C88 2009 R. Berinde and P. Indyk Sequential Sparse Matching Proc. Allerton Conference (PR)(CO) Pursuit C89 2009 A. Andoni, K. Do Ba, P. Efficient Sketches for Earth- Proc. Symposium on (PR)(CO) Indyk and D. Woodruff Mover Distance, with Foundations of Computer Applications Science (FOCS) C90 2009 A. Andoni, P. Indyk, K. External Sampling Proc. International (PR)(CO) Onak and R. Rubinfeld Colloquium on Automata, Languages and Programming (ICALP) C91 2009 E. Demaine, M. Demaine, Folding a Better Proc. International (PR)(CO) G. Konjevod and R. Lang Checkerboard Symposium on Algorithms and Computation (ISAAC) C92 2009 J. Cardinal, E. Demaine, Algorithmic Folding Proc. International (PR)(CO) M. Demaine, S. Imahori, Complexity Symposium on Algorithms S. Langerman and R. and Computation (ISAAC) Uehara
C93 2009 E. Demaine, M. Minimizing Movement: Fixed- Proc. European Symposium (PR)(CO) Hajiaghayi, and D. Marx Parameter Tractability on Algorithms (ESA)
C94 2009 B. Ballinger, D. Charlton, Minimal Locked Trees Proc. Algorithms and Data (PR)(CO) E. Demaine, M. Demaine, Structures Symposium J. Iacono, C-H. Liu and S- (WADS) H. Poon
C95 2009 E. Demaine, D. Kane and A Pseudopolynomial Proc. Algorithms and Data (PR)(CO) G. Price algorithm for Alexandrov's Structures Symposium Theorem (WADS) C96 2009 T. Ito, M. Kaminski and Reconfiguration of List Edge- Proc. Algorithms and Data (PR)(CO) E. Demaine Colorings in a Graph Structures Symposium (WADS) C97 2009 E. Demaine, M. Approximation Algorithms Proc. International (PR)(CO) Hajiaghayi and K. via Structural Results for Colloquium on Automata, Kawarabayashi Apex-Minor-Free Graphs Languages and Programming (ICALP) C98 2009 E. Demaine, M. Node-Weighted Steiner Tree Proc. International (PR)(CO) Hajiaghayi and P. Klein and Group Steiner Tree in Colloquium on Automata, Planar Graphs Languages and Programming (ICALP) C99 2009 E. Demaine, G. Polynomial-Time Proc. International (PR)(CO) Borradaile and S. Tazari Approximation Schemes for Symposium on Theoretical Subset-Connectivity Aspects of Computer Science Problems in Bounded-Genus (STACS) Graphs C100 2009 E. Demaine, D. Harmon, The Geometry of Binary Proc. Symposium on Discrete (PR)(CO) J. Iacono, D. Kane and Search Trees Algorithms (SODA) M. Patrascu C101 2009 E. Demaine, K. Additive Approximation Proc. Symposium on Discrete (PR)(CO) Kawarabayashi and M. Algorithms for List-Coloring Algorithms (SODA) Hajiaghayi Minor-Closed Class of Graphs
C102 2009 E. Demaine, M. The Price of Anarchy in Proc. International (PR)(CO) Hajiaghayi, H. Mahini and Cooperative Network Symposium on Theoretical M. Zadimoghaddam Creation Games Aspects of Computer Science (STACS)
C103 2009 J. Cardinal, E. Demaine, The Stackelberg Minimum Proc. Workshop on Internet (PR)(CO) S. Fiorini, G. Joret, I. Spanning Tree Game on and Network Economics Newman and O. Weimann Planar and Bounded- (WINE) Treewidth Graphs C104 2009 J. McLurkin and E. A Distributed Boundary Proc. International (PR)(CO) Demaine Detection Algorithm for Multi- Conference on Intelligent Robot Systems Robots and Systems C105 2009 G. Aloupis, N. Efficient Reconfiguration of Proc. European Conference (PR)(CO) Benbernou, M. Damian, Lattice-Based Modular Robots on Mobile Robots E. Demaine, R. Flatland, J. Iacono and S. Wuhrer
C106 2009 M. Ajtai, V. Feldman, A. Sorting and Selection with Proc. International (PR)(CO) Hassidim and J. Nelson Imprecise Comparisons Colloquium on Automata, Languages and Programming (ICALP) C107 2009 R. Yuster and O. Computing the Girth of a Proc. International (PR)(CO) Weimann Planar Graph in O(n log n) Colloquium on Automata, time Languages and Programming (ICALP) C108 2009 R. Backofen, G. Landau, Fast RNA Structure Proc. Symposium on (PR)(CO) M. Möhl, D. Tsur and O. Alignment for Crossing Input Combinatorial Pattern Weimann Structures Matching (CPM) C109 2009 P. Klein, S. Mozes and O. Shortest Paths in Directed Proc. Symposium on Discrete (PR)(CO) Weimann Planar Graphs with Negative Algorithms (SODA) Lengths: A Linear-Space O(n log n)-Time Algorithm
C110 2010 K. Do Ba, P. Indyk, E. Lower Bounds for Sparse Proc. Symposium on Discrete (PR)(CO) Price and D.P. Woodruff Recovery Algorithms (SODA)
C111 2010 P. Indyk, H.Q. Ngo and Efficiently Decodable Non- Proc. Symposium on Discrete (PR)(CO) A. Rudra adaptive Group Testing Algorithms (SODA)
C112 2010 D.M. Kane, J. Nelson and An Optimal Algorithm for the Proc. Symposium on (PR)(CO) D.P. Woodruff Distinct Elements Problem Principles of Database Systems (PODS) C113 2010 J. Nelson and D.P. Fast Manhattan Sketches in Proc. Symposium on (PR)(CO) Woodruff Data Streams Principles of Database Systems (PODS) C114 2010 I. Diakonikolas, D.M. Bounded Independence Fools Proc. Symposium on (PR)(CO) Kane and J. Nelson Degree-2 Threshold Functions Foundations of Computer Science (FOCS) C115 2010 D.M. Kane, J. Nelson and On the Exact Space Proc. Symposium on Discrete (PR)(CO) D.P. Woodruff Complexity of Sketching and Algorithms (SODA) Streaming Small Norms
C116 2010 A. Beckmann , U. Meyer, Energy-Efficient Sorting Proc. International IEEE (PR)(CO) P. Sanders and J. Singler using Solid State Disks Green Computing Conference
C117 2010 M. Greve, A.G. Cell Probe Lower Bounds and Proc. International (PR) Jørgensen, K.D. Larsen Approximations for Range Colloquium on Automata, and J. Truelsen Mode Languages and Programming (ICALP) C118 2010 M. Olsen Maximizing PageRank with Proc. International (PR) new Backlinks Conference on Algorithms and Complexity (CIAC) C119 2010 G.S. Brodal, E. Demaine, Cache-Oblivious Dynamic Proc. Symposium on Discrete (PR)(CO) J. T. Fineman, J. Iacono, Dictionaries with Optimal Algorithms (SODA) S. Langerman and J.I. Update/Query Tradeoff Munro
C120 2010 A. Kaporis, A.N. Efficient Processing of 3- Proc. International (PR)(CO) Papadopoulos, S. Sided Range Queries with Conference on Database Sioutas, K. Tsakalidis and Probabilistic Guarantees Theory (ICDT) K. Tsichlas C121 2010 M.A. Abam and S. Har- New constructions of SSPDs Proc. Symposium on (PR)(CO) Peled and their applications Computational Geometry (SoCG) C122 2010 M.B. Kjærgaard, H. Indoor Positioning using GPS Proc. International (PR) Blunck, T. Godsk, T. Revisited Conference on Pervasive Toftkjær, D.L. Computing (Pervasive) Christensen, and K. Grønbæk C123 2010 L. Arge, M.T. Goodrich Parallel external memory Proc. International Parallel & (PR)(CO) and N. Sitchinava graph algorithms Distributed Processing Symposium (IPDPS)
C124 2010 P. Afshani, L. Arge and Orthogonal Range Reporting: Proc. Symposium on (PR) K.D. Larsen Query Lower Bounds, Computational Geometry Optimal Structures in 3-d, (SoCG) and Higher Dimensional Improvements
C125 2010 P. Afshani, L. Arge and I/O-Efficient Orthogonal Proc. Workshop on Massive K.D Larsen Range Reporting in Three Data Algorithmics (MASSIVE) and Higher Dimensions C126 2010 T. Mølhave, P.K. Agarwal, Scalable Algorithms for Large Proc. International (PR)(CO) L. Arge and M. Revsbæk High-Resolution Terrain Data Conference on Computing for Geospatial Research & Application (COM.GEO) C127 2010 L. Arge, M. Revsbæk and I/O-Efficient Computation of Proc. Symposium on (PR)(CO) Norbert Zeh Water Flow Across a Terrain Computational Geometry (SoCG) C128 2010 G.S. Brodal, P. Davoodi On Space Efficient Two Proc. European Symposium (PR)(CO) and S.S. Rao Dimensional Range Minimum on Algorithms (ESA) Data Structures C129 2010 D. Ajwani, N. Sitchinava Geometric Algorithms for Proc. European Symposium (PR)(CO) and N. Zeh Private-Cache Chip on Algorithms (ESA) Multiprocessors C130 2010 Z. Abel, N. Benbernou, Shape Replication Through Proc. Symposium on Discrete (PR)(CO) M. Damian, E.D. Self-Assembly and RNase Algorithms (SODA) Demaine, M.L. Demaine, Enzymes R. Flatland, S. Kominers and R. Schwelle
C131 2010 E.D. Demaine, M. Decomposition, Proc. Symposium on Discrete (PR)(CO) Hajiaghayi and K. Approximation, and Coloring Algorithms (SODA) Kawarabayashi of Odd-Minor-Free Graphs C132 2010 N. Gershenfeld, D. Reconfigurable Asynchronous Proc. Symposium on (PR)(CO) Dalrymple, K. Chen, A. Logic Automata Principles of Programming Knaian, F. Green, E.D. Langauges (POPL) Demaine, S. Greenwald and P. Schmidt-Nielsen
C133 2010 G. Aloupis, J. Cardinal, S. Matching Points with Things Proc. Latin American (PR)(CO) Collette, E.D. Demaine, Theoretical Informatics M.L. Demaine, M. Dulieu, Symposium (LATIN) R. Fabila-Monroy, V. Hart, F. Hurtado, S. Langerman, M. Saumell, C. Seara and P. Taslakian
C134 2010 E.D. Demaine and M. Scheduling to Minimize Proc. Symposium on (PR) Zadimoghaddam Power Consumption using Parallelism in Algorithms and Submodular Functions Architectures (SPAA) C135 2010 S. Gilbert, R. Guerraoui, Collaborative Scoring in the Proc. Symposium on (PR)(CO) F. Malakouti and M. Presence of Malicious Players Parallelism in Algorithms and Zadimoghaddam Architectures (SPAA)
C136 2010 N. Alon, E.D. Demaine, Basic Network Creation Proc. Symposium on (PR)(CO) M. Hajiaghayi and T. Games Parallelism in Algorithms and Leighton Architectures (SPAA)
C137 2010 E.D. Demaine and M. Minimizing the Diameter of a Proc. Scandinavian Workshop (PR) Zadimoghaddam Network using Shortcut Edge on Algorithm Theory (SWAT)
C138 2010 M. Bateni, M.H. Submodular Secretary Proc. Workshop on (PR)(CO) Hajiaghayi and M. Problem and Extensions Approximation Algorithms for Zadimoghaddam Combinatorial Optimization Problems (APPROX)
C139 2010 B. Ballinger, N. Coverage with k- Proc. International (PR)(CO) Benbernou, P. Bose, M. Transmitters in the Presence Conference on Combinatorial Damian, E.D. Demaine, of Obstacles Optimization and Applications V. Dujmović, R. Flatland, (COCOA) F. Hurtado, J. Iacono, A. Lubiw, P. Morin, V. Sacristán, D. Souvaine and R. Uehara
C140 2010 E.D. Demaine and M. Constant Price of Anarchy in Proc. International Workshop (PR) Zadimoghaddam Network Creation Games via on Algorithms and Models for Public Service Advertising the Web-Graph
C141 2010 G. S. Brodal, C. Kejlberg- A Cache-oblivious Implicit Proc. International (PR) Rasmussen and J. Dictionary with the Working Symposium on Algorithms Truelsen Set Property and Computation (ISAAC) C142 2010 L. Arge, K. D. Larsen, T. Cleaning Massive Sonar Point Proc. International (PR) Mølhave and F. van Clouds Conference on Advances in Walderveen Geographic Information System (ACM-GIS) C143 2010 G.S Brodal, Ss.Sioutas, D2-Tree: A New Overlay with Proc. International (PR)(CO) K. Tsichlas and C. Deterministic Bounds Symposium on Algorithms Zaroliagis and Computation (ISAAC) C144 2010 F. Gieseke, G. Moruz and Resilient kd-trees: K-means Proc. Conference on Data (PR)(CO) J. Vahrenhold in space revisited Mining (ICDM) C145 2010 J. Brody and E. Verbin The Coin Problem and Proc. Symposium on (PR)(CO) Pseudorandomness for Foundations of Computer Branching Programs Science (FOCS) C146 2011 H. Blunck, M. B. Sensing and Classifying Proc. International (PR)(CO) Kjærgaard and T. S. Impairments of GPS Conference on Pervasive Toftegaard Reception on Mobile Devices Computing (Pervasive)
C147 2011 A. G. Jorgensen and K. Range Selection and Median: Proc. Symposium on Discrete (PR) G. Larsen, Tight Cell Probe Lower Algorithms (SODA) Bounds and Adaptive Data Structures C148 2011 P. Afshani, P. K. Agarwal, (Approximate) Uncertain Proc. International (PR)(CO) L. Arge, K. G. Larsen and Skylines Conference on Database J. M. Phillips Theory (ICDT)
C149 2011 T. M. Chan, K. G. Larsen Orthogonal Range Searching Proc. Symposium on (PR)(CO) and M. Patrascu on the RAM, Revisited Computational Geometry (SoCG) C150 2011 K. G. Larsen On Range Searching in the Proc. Symposium on (PR) Group Model and Foundations of Computer Combinatorial Discrepancy Science (FOCS)
C151 2011 M. de Berg and C. Exact and Approximate Proc. International (PR)(CO) Tsirogiannis Computations of Watersheds Conference on Advances in on Triangulated Terrains Geographic Information Systems (ACM-GIS) C152 2011 H.Haverkort and C. Flow on Noisy Terrains: An Proc. International (PR)(CO) Tsirogiannis Experimental Evaluation Conference on Advances in Geographic Information Systems (ACM-GIS) C153 2011 D. Ajwani, N. Sitchinava I/O-Optimal Distribution Proc. International (PR)(CO) and N. Zeh Sweeping on Private-Cache Symposium on Parallel and Chip Multiprocessors Distributed Processing (IPDPS) C154 2011 M.T. Goodrich, N. Sorting, Searching, and Proc. International Sitchinava and Q. Zhang Simulation in the MapReduce Symposium on Algorithms (PR)(CO) Framework and Computation (ISAAC) C155 2011 M. A. Abam, S. Computing Homotopic Line Proc. European Workshop on (CO) Daneshpajouh, L. Simplification in a Plane Computational Geometry Deleuran, S. Ehsani and (EuroCG) M. Ghodsi C156 2011 P. Afshani and N. Zeh Improved Space Bounds for Proc. Symposium on Discrete (PR)(CO) Cache-Oblivious Range Algorithms (SODA) Reporting C157 2011 P. Afshani, G.S. Brodal Ordered and Unordered Top- Proc. Symposium on Discrete (PR)(CO) and N. Zeh K Range Reporting in Large Algorithms (SODA) Data Sets C158 2011 G.S. Brodal, G. Moruz, OnlineMin: A Fast Strongly Proc. Workshop on (PR) and A. Negoescu Competitive Randomized Approximation and Online Paging Algorithm Algorithms (WAOA)
C159 2011 G.S. Brodal, P. Davoodi, Path Minima Queries in Proc. Workshop on (PR)(CO) and S.S. Rao Dynamic Weighted Trees Algorithms and Data Structures (WADS) C160 2011 G.S. Brodal and K. Dynamic Planar Range Proc. International (PR) Tsakalidis Maxima Queries Colloquium on Automata, Languages, and Programming (ICALP) C161 2011 G.S. Brodal, M. Greve, V. Integer Representations Proc. Conference on Theory (PR)(CO) Pandey and S.S. Rao towards Efficient Counting in and Applications of Models of the Bit Probe Model Computation (TAMC)
C162 2011 H.L. Chan, T.W. Lam, Edit Distance to Monotonicity Proc. International (PR) (CO) L.K. Lee, J. Pan, H.F. in Sliding Windows Symposium on Algorithms Ting and Q. Zhang and Computation (ISAAC) C163 2011 D. Ajwani, A. Cosgaya- Engineering a Topological Proc. Workshop on Algorithm (PR)(CO) Lozano and N. Zeh Sorting Algorithm for Engineering and Experiments Massive Graphs (ALENEX)
C164 2011 S.H. Chan, T.W. Lam, Sleep management on Proc. International (PR) (CO) L.K. Lee, C.M. Liu and multiple machines for energy Colloquium on Automata, H.F. Ting and flow time Languages and Programming (ICALP) C165 2011 A.G. Jørgensen, M. Geometric Computations on Proc. International Workshop (PR)(CO) Loffler and J. Phillips Indecisive Points on Algorithms and Data Structures (WADS)
C166 2011 P. Davoodi and S. Succinct Dynamic Cardinal Proc. Theory and Applications (PR)(CO) Srinivasa Rao Trees with Constant Time of Models of Computation Operations for Small Alphabet (TAMC) C167 2011 E. Verbin and W. Yu The Streaming Complexity of Proc. Symposium on Discrete (PR) Cycle Counting, Sorting By Algorithms (SODA) Reversals, and Other Problems
C168 2011 U. Meyer, A. Negoescu New bounds for old Proc. Conference on Theory (PR) and V. Weichert algorithms: On the average- and Practice of Algorithms in case behavior of classic (Computer) Systems (TAPAS) single-source shortest path approaches C169 2011 M. Manjunath, K. Approximate Counting of Proc. European Symposium (PR)(CO) Mehlhorn, K. Panagiotou Cycles in Streams on Algorithms (ESA) and H. Sun C170 2011 E. Price Efficient Sketches for the Set Proc. Symposium on Discrete (PR) Query Problem Algorithms (SODA)
C171 2011 P. Indyk and E. Price K-Median Clustering, Model- Proc. Symposium on Theory (PR) Based Compressive Sensing, of Computing (STOC) and Sparse Recovery for Earth Mover Distance
C172 2011 P. Indyk, E. Price and D. On the Power of Adaptivity in Proc. Symposium on (PR)(CO) P. Woodruff Sparse Recovery Foundations of Computer Science (FOCS) C173 2011 R. Gupta, P. Indyk, E. Compressive Sensing with Proc. Symposium on (PR)(CO) Price and Y. Rachlin Local Geometric Features Computational Geometry (SoCG) C174 2011 E. Price and D. P. (1+eps)-approximate sparse Proc. Symposium on (PR)(CO) Woodruff recovery Foundations of Computer Science (FOCS) C175 2011 D. M. Kane, J. Nelson, E. Fast Moment Estimation in Proc. Symposium on Theory (PR)(CO) Porat and D. P. Woodruff Data Streams in Optimal of Computing (STOC) Space C176 2011 D. M. Kane, R. Meka and Almost Optimal Explicit Proc. International Workshop (PR)(CO) J. Nelson Johnson-Lindenstrauss on Randomization and Transformations Computation (RANDOM )
C177 2011 D. B. Khanh and P. Indyk Sparse recovery with partial Proc. Workshop on (PR)(CO) support knowledge Approximation Algorithms for Combinatorial Optimization Problems (APPROX)
C178 2011 K. Kawarabayashi, P. N. Linear-Space Approximate Proc. International (PR)(CO) Klein and C. Sommer Distance Oracles for Planar, Colloquium on Automata, Bounded-Genus, and Minor- Languages, and Free Graphs Programming (ICALP)
C179 2011 C. Gavoille and C. Sparse Spanners vs. Proc. Symposium on (PR)(CO) Sommer Compact Routing Parallelism in Algorithms and Architectures (SPAA) C180 2011 H. N. Djidjev and C. Approximate Distance Proc. European Symposium (PR)(CO) Sommer Queries for Weighted on Algorithms (ESA) Polyhedral Surfaces C181 2011 D. Alistarh, J. Aspnes, K. Optimal-Time Adaptive Tight Proc. Symposium on (PR)(CO) Censor-Hillel, S. Gilbert Renaming, with Applications Principles of Distributed and M. Zadimoghaddam to Counting Computing (PODC)
C182 2011 A. Karbasi and M. Compression with Graphical Proc. International (PR)(CO) Zadimoghaddam Constraints: An Interactive Symposium on Information Browser Theory (ISIT) C183 2011 B. Haeupler, V. Mirrokni Online Stochastic Weighted Proc. Workshop on Internet & (PR)(CO) and M. Zadimoghaddam Matching: Improved Network Economics Approximation Algorithms
C184 2011 Z. Abel, E. D. Demaine, Folding Equilateral Plane Proc. International (PR)(CO) M. L. Demaine, S. Graphs Symposium on Algorithms Eisenstat, J. Lynch, T. B. and Computation (ISAAC) Schardl and I. Shapiro- Ellowitz C185 2011 E. D. Demaine, S. One-Dimensional Staged Proc. International (PR)(CO) Eisenstat, M. Ishaque Self-Assembly Conference on DNA and A. Winslow Computing and Molecular Programming C186 2011 E. D. Demaine, M. L. Algorithms for Solving Proc. European Symposium (PR)(CO) Demaine, S. Eisenstat, A. Rubik's Cubes on Algorithms (ESA) Lubiw and A. Winslow
C187 2011 E. D. Demaine and S. Flattening Fixed-Angle Proc. International Workshop (PR) Eisenstat Chains Is Strongly NP-Hard on Algorithms and Data Structures (WADS)
C188 2011 P. Christiano, E. D. Lossless Fault-Tolerant Data Proc. International Workshop (PR)(CO) Demaine and S. Kishore Structures with Additive on Algorithms and Data Overhead Structures (WADS)
C189 2011 P. Berman, E. D. O(1)-Approximations for Proc. Workshop on (PR)(CO) Demaine and M. Maximum Movement Approximation Algorithms for Zadimoghaddam Problems Combinatorial Optimization Problems (APPROX)
C190 2011 G. Aloupis, E. D. Meshes preserving minimum Proc. Spanish Meeting on (CO) Demaine, M. L. Demaine, feature size Computational Geometry V. Dujmovic and J. Iacono
C191 2011 E. D. Demaine and A. A generalization of the Proc. Spanish Meeting on (CO) Lubiw source unfolding of convex Computational Geometry polyhedra C192 2011 E. D. Demaine, M. Contraction Decomposition in Proc. Symposium on Theory (PR)(CO) Hajiaghayi and K. H-Minor-Free Graphs and of Computing (STOC) Kawarabayashi Algorithmic Applications
C193 2011 E. D. Demaine, M. J. Self-Assembly of Arbitrary Proc. Symposium on (PR)(CO) Patitz, R. T. Schweller Shapes Using RNAse Theoretical Aspects of and S. M. Summers Enzymes: Meeting the Computer Science (STACS) Kolmogorov Bound with Small Scale Factor C194 2011 E. D. Demaine and A. Embedding Stacked Proc. Symposium on Discrete (PR)(CO) Schulz Polytopes on a Polynomial- Algorithms (SODA) Size Grid C195 2012 P. Davoodi, M. Smid and Two-Dimensional Range Proc. Latin American (PR)(CO)(OA) F. van Walderveen Diameter Symposium on Theoretical Informatics (LATIN)
C196 2012 L. Arge, M.T. Goodrich Computing betweenness Workshop on Massive Data (CO)(OA) and F. van Walderveen centrality in external memory Algorithmics (MASSIVE)
C197 2012 K. G. Larsen and R. Pagh I/O-Efficient Data Structures Proc. Symposium on Discrete (PR)(CO)(OA) for Colored Range and Prefix Algorithms (SODA) Reporting
C198 2012 T. M. Chan, S. Durocher, Linear-Space Data Proc. Symposium on (PR)(CO)(OA) K. G. Larsen, J. Morrison Structures for Range Mode Theoretical Aspects of and B. T. Wilkinson Query in Arrays Computer Science (STACS)
C199 2012 K. G. Larsen The Cell Probe Complexity of Proc. Symposium on Theory (PR)(OA) Dynamic Range Counting of Computing (STOC)
C200 2012 P. Afshani, L. Arge and K. Higher-dimensional Proc. Symposium on (PR)(OA) G. Larsen Orthogonal Range Reporting Computational Geometry and Rectangle Stabbing in (SoCG) the Pointer Machine Model
C201 2012 K. G. Larsen and H. L. Improved Range Searching Proc. Symposium on (PR)(CO)(OA) Nguyen Lower Bounds Computational Geometry (SoCG) C202 2012 K. G. Larsen Higher Cell Probe Lower Proc. Symposium on (PR)(OA) Bounds for Evaluating Foundations of Computer Polynomials Science (FOCS) C203 2012 L. Arge, L. Deleuran, T. Simplifying Massive Contour Proc. European Symposium (PR)(OA) Mølhave, M. Revsbæk Maps on Algorithms (ESA) and J. Truelsen
C204 2012 Z. Huang, K. Yi and Q. Randomized Algorithms for Proc. Symposium on (PR)(CO)(OA) Zhang, Tracking Distributed Count, Principles of Database Frequencies, and Ranks Systems (PODS) C205 2012 D.P. Woodruff and Q. Tight Bounds for Distributed Proc. Symposium on Theory (PR)(CO)(OA) Zhang Functional Monitoring of Computing (STOC)
C206 2012 J. M. Phillips, E. Verbin Lower Bounds for Number-in- Proc. Symposium on Discrete (PR)(CO)(OA) and Q. Zhang Hand Multiparty Algorithms (SODA) Communication Complexity, Made Easy
C207 2012 E. Verbin and Q. Zhang Rademacher-Sketch: A Proc. International (PR)(OA) Dimensionality-Reducing Colloquium on Automata, Embedding for Sum-Product Languages and Programming Norms, with an Application (ICALP) to Earth-Mover Distance
C208 2012 H.L. Chan, S.H. Chan, Non-clairvoyant weighted Proc. ACM Symposium on (PR)(CO)(OA) T.W. Lam, L.K. Lee, and flow time scheduling with Parallelism in Algorithms and J. Zhu rejection penalty Architectures (SPAA) C209 2012 G. S. Brodal, J. A. S. Finger search in the implicit Proc. International (PR)(OA) Nielsen and J. Truelsen model Symposium on Algorithms and Computation (ISAAC) C210 2012 G.S. Brodal and C. Cache-Oblivious Implicit Proc. Symposium on (PR)(OA) Kejlberg-Rasmussen Predecessor Dictionaries with Theoretical Aspects of the Working-Set Property Computer Science (STACS)
C211 2012 X. Sun , C. Wang and W. The Relationship between Proc. Latin American (PR)(CO)(OA) Yu Inner Product and Counting Theoretical Informatics Cycles Symposium (LATIN) C212 2012 P. Davoodi, R. Raman Succinct Representations of Proc. International (PR)(CO)(OA) and S. S. Rao Binary Trees for Range Computing and Minimum Queries Combinatorics Conference (COCOON) C213 2012 G.S. Brodal, S. Sioutas, Fully Persistent B-trees Proc. Symposium on Discrete (PR)(CO)(OA) K. Tsakalidis and K. Algorithms (SODA) Tsichlas C214 2012 G.S. Brodal, G. Strict Fibonacci Heaps Proc. Symposium on Theory (PR)(CO)(OA) Lagogiannis and R.E. of Computing (STOC) Tarjan. C215 2012 G.S Brodal, P. Davoodi, Two Dimensional Range Proc. European Symposium (PR)(CO)(OA) M. Lewenstein, R. Raman Minimum Queries and on Algorithms (ESA) and S. S. Rao Fibonacci Lattices
C216 2012 D. Ajwani, A. Beckmann, I/O-efficient approximation Proc. Workshop on Parallel (PR)(CO)(OA) U. Meyer and D. Veith of graph diameter by parallel Systems and Algorithms cluster growing - a first (PASA) experimental study
C217 2012 A. Beckmann, J. A structural analysis of the Proc. Workshop on Graph (PR)(CO)(OA) Fedorowicz, J.Keller and A5/1 state transition graph Inspection and Traversal U. Meyer Engineering (GRAPHite) C218 2012 G. Moruz and A. Outperforming LRU via Proc. Symposium on Discrete (PR)(OA) Negoescu Competitive Analysis on Algorithms (SODA) Parametrized Inputs for Paging C219 2012 G. Moruz, A. Negoescu, Engineering Efficient Paging Proc. Symposium on (PR)(OA) C. Neumann and V. Algorithms Experimental Algorithms Weichert (SEA)
C220 2012 H. Hassanieh, P. Indyk, Simple and Practical Proc. Symposium on Discrete (PR)(CO)(OA) D. Katabi and E. Price Algorithm for Sparse Fourier Algorithms (SODA) Transform C221 2012 H. Hassanieh, P. Indyk, Nearly Optimal Sparse Proc. Symposium on Theory (PR)(CO)(OA) D. Katabi and E. Price Fourier Transform of Computing (STOC)
C222 2012 S. Mozes and C. Sommer Exact Distance Oracles for Proc. Symposium on Discrete (PR)(CO)(OA) Planar Graphs Algorithms (SODA)
C223 2012 T. Akiba, C. Sommer Shortest-Path Queries for Proc. International (PR)(CO)(OA) and K-i Kawarabayashi Complex Networks: Conference on Extending Exploiting Low Tree-width Database Technology (EDBT) Outside the Core C224 2012 S. Kreutzer and S. Tazari Directed Nowhere Dense Proc. Symposium on Discrete (PR)(CO)(OA) Classes of Graphs Algorithms (SODA) C225 2012 V.S. Mirrokni, S. O. Simultaneous Proc. Symposium on Discrete (PR)(CO)(OA) Gharan and M. approximations for Algorithms (SODA) Zadimoghaddam adversarial and stochastic online budgeted allocation
C226 2012 D. M. Kane and J. Nelson Sparser Johnson- Proc. Symposium on Discrete (PR)(CO)(OA) Lindenstrauss Transforms Algorithms (SODA)
C227 2012 C. Tsirogiannis, B. Sandel Efficient Computation of Proc. Workshop on (PR)(CO)(OA) and D. Cheliotis Popular Phylogenetic Tree Algorithms in Bioinformatics Measures (WABI) C228 2012 L. Arge, H. Haverkort Fast Generation of Multiple Proc. International (PR)(CO)(OA) and C. Tsirogiannis Resolution Instances of Conference on Advances in Raster Data Sets Geographic Information Systems (ACM-GIS) C229 2012 P. Afshani and N. Zeh Lower Bounds for Sorted Proc. European Symposium (PR)(CO)(OA) Geometric Queries in the I/O on Algorithms (ESA) Model C230 2012 P. Afshani Improved pointer machine Proc. ACM Symposium on (PR)(OA) and I/O lower bounds for Computational Geometry simplex range reporting and (SoCG) related problems
C231 2012 T. M. Chan, S. Durocher, Linear-Space Data Proc. Scandinavian Workshop (PR)(CO)(OA) M. Skala, and B. T. Structures for Range on Algorithm Theory (SWAT) Wilkinson Minority Query in Arrays C232 2012 H. Jowhari Efficient Communication Proc. European Symposium (PR)(OA) Protocols for Deciding Edit on Algorithms (ESA) Distance C233 2012 L. K. Lee, M. Lewenstein Parikh matching in the Proc. International (PR)(CO)(OA) and Q. Zhang. streaming model Symposium on String Processing and Information Retrieval (SPIRE)
C234 2012 D. Belazzougui and R. Compressed String Proc. Symposium on (PR)(CO)(OA) Venturini Dictionary Look-up Combinatorial Pattern (CPM) with Edit Distance One C235 2012 B. Ammitzbøll Jurik and Audio Quality Assurance: An Proc. iPRES Conference (PR)(CO)(OA) J.A.S. Nielsen Application of Cross Correlation C236 2012 N. Sitchinava and N. Zeh A parallel buffer tree Proc. ACM Symposium on (PR)(CO)(OA) Parallelism in Algorithms and Architectures (SPAA)
C237 2012 D. Ajwani, U. Meyer and I/O-efficient Hierarchical Proc. European Symposium (PR)(CO)(OA) D. Veith Diameter Approximation on Algorithms (ESA)
C238 2012 D. Kane, K. Mehlhorn, T. Counting Arbitrary Proc. International (PR)( Sauerwald and H. Sun Subgraphs in Data Streams Colloquium on Automata, Languages, and Programming (ICALP) C239 2012 M. Wibral, P. Wollstadt, Revisiting Wiener’s principle Proc. International (PR)(CO)(OA) U. Meyer, N. Pampu, of causality — interaction- Confonference in Medicine & V.Priesemann and R. delay Biology Society (EMBC) Vicente reconstruction using transfer entropy and multivariate analysis on delay-weighted graphs C240 2012 P. Indyk, R. Levi and R. Approximating and Testing k- Proc. Symposium on (PR)(CO)(OA) Rubinfeld Histogram Distributions in Principles of Database Sub-linear Time Systems (PODS)
C241 2012 J. Wang, H. Hassanieh, Efficient and Reliable Low- Proc. International (PR)(CO)(OA) D. Katabi and P. Indyk Power Backscatter Networks Conference on Mobile Computing and Networking (SIGCOMM) C242 2012 H. Hassanieh, F. Adib, Faster GPS Via the Sparse Proc. International (PR)(CO)(OA) D. Katabi and P. Indyk Fourier Transform Conference on Mobile Computing and Networking (MOBICOM) C243 2012 E. Price and D. Woodruff Applications of the Shannon- Proc. International (PR)(CO)(OA) Hartley Theorem to Data Symposium on Information Streams and Sparse Recovery Theory (ISIT)
C244 2012 L. Hamilton, D. Parker, Focal Plane Array Folding for Proc. Applied Imagery (PR)(CO)(OA) C. Yu and P. Indyk Efficient Information Patterns Recognition Extraction and Tracking Workshop (AIPR) C245 2013 E. Price and D. Woodruff Lower Bounds for Adaptive Proc. Symposium on Discrete (PR)(CO)(OA) Sparse Recovery Algorithms (SODA)
C246 2013 A. Andoni, H. Hassanieh, Shift Finding in Sub-linear Proc. Symposium on Discrete (PR)(CO)(OA) P. Indyk and D. Katabi Time Algorithms (SODA)
C247 2012 E.D. Demaine, M.L. Picture-Hanging Puzzles Proc. International (CO)(OA) Demaine, Y. N. Minsky, Conference on Fun with J.S.B. Mitchell, R.L. Algorithms Rivest and M. Patrascu
C248 2012 E. D. Demaine, M.L. Refold Rigidity of Convex Proc. European Workshop on (CO)(OA) Demaine, J-i. Itoh, A. Polyhedra Computational Geometry Lubiw, C. Nara and J. O'Rourke C249 2012 S. Lim, C. Sommer, E. Practical Route Planning Proc. Robotics: Science and (PR)(CO)(OA) Nikolova and D. Rus Under Delay Uncertainty: Systems VIII Stochastic Shortest Path Queries C250 2012 C. Ratti and C. Sommer Approximating Shortest Proc. International (PR)(CO)(OA) Paths in Spatial Social Conference on Social Networks Computing C251 2012 M. Zadimoghaddam and Efficiently Learning from Proc. International Workshop (PR)(CO)(OA) A. Roth Revealed Preference on Internet and Network Economics C252 2012 C. Guo, Y. Ma, B. Yang, EcoMark: Evaluating Models Proc. International (PR)(CO)(OA) C. S. Jensen and M. Kaul of Vehicular Environmental Conference on Advances in Impact Geographic Information Systems (ACM-GIS)
C253 2012 X. Li, P. Karras, L. Shi, Cooperative Scalable Moving Proc. International (PR)(CO)(OA) K.-L. Tan and C. S. Continuous Query Processing Conference on Mobile Data Jensen Management (MDM) C254 2012 D. Šidlauskas, C. S. A Comparison of the Use of Proc. International Workshop (PR)(CO)(OA) Jensenand S. Šaltenis Virtual Versus Physical on Data Management on New Snapshots for Supporting Hardware (DaMoN) Update-Intensive Workloads
C255 2012 J. Rishede, M. L. Yiu and Effective Caching of Shortest Proc. International (PR)(CO)(OA) C. S. Jensen Paths for Location-Based Conference on the Services Management of Data (SIGMOD) C256 2012 D. Šidlauskas, S. Šaltenis Parallel Main-Memory Proc. International (PR)(CO)(OA) and C. S. Jensen Indexing for Moving-Object Conference on the Query and Update Workloads Management of Data (SIGMOD) C257 2012 H. Lu, X. Cao and C. S. A Foundation for Efficient Proc. International (PR)(CO)(OA) Jensen Indoor Distance-Aware Conference on Data Query Processing Engineering (ICDE) C258 2012 H. Lu and C. S. Jensen Upgrading Uncompetitive Proc. International (PR)(CO)(OA) Products Economically Conference on Data Engineering (ICDE) C259 2012 X. Cao, L. Chen, G. Spatial Keyword Querying Proc. International (CO) (OA) Cong, C. S. Jensen, Q. (invited paper) Conference on Conceptual Qu, A. Skovsgaard, D. Modeling (ER) Wu and M. L. Yiu
C260 2013 M. Olsen and M. Revsbæk Alliances and Bisection Width Proc. International Workshop (PR)(OA) for Planar Graphs on Algorithms and Computation (WALCOM)
C261 2013 K.G. Larsen and F. van Near-Optimal Range Proc. Symposium on Discrete (PR)(OA) Walderveen Reporting Structures for Algorithms (SODA) Categorical Data C262 2013 K. Bringmann and K.G. Succinct Sampling from Proc. ACM Symposium on (PR)(CO)(OA) Larsen Discrete Distributions Theory of Computing (STOC)
C263 2013 Chr. Tsirogiannis and Uncovering the Missing Proc. Conference on (PR)(CO)(OA) Con. Tsirogiannis Routes : An Algorithmic Computer Applications and Study on the Illicit Quantitative Methods in Antiquities Trade Network Archaeology (CAA) C264 2013 C. Tsirogiannis and B. Computing the Skewness of Proc. Workshop on (PR)(CO)(OA) Sandel the Phylogenetic Mean Algorithms in Bioinformatics Pairwise Distance in Linear (WABI) Time
C265 2013 L. Arge, G.S. Brodal, J. An Optimal and Practical Proc. European Symposium (PR)(CO)(OA) Truelsen and C. Cache-Oblivious Algorithm on Algorithms (ESA) Tsirogiannis for Computing Multiresolution Rasters C266 2013 L. Arge, M. de Berg and Algorithms for Computing Proc. International (PR)(CO)(OA) C. Tsirogiannis Prominence on Grid Terrains Conference on Advances in Geographic Information System (ACM-GIS)
C267 2013 L. Arge and M. Thorup RAM-Efficient External Proc. International (PR) (CO)(OA) Memory Sorting Symposium on Algorithms and Computation (ISAAC)
C268 2013 L. Arge, M.T. Goodrich Computing betweenness Proc. IEEE International (PR)(CO)(OA) and F. van Walderveen centrality in external memory Symposium on Big Data
C269 2013 L. Arge, J. Fischer, P. On (Dynamic) Range Proc. Workshop on (PR)(CO)(OA) Sanders and N. Sitchinava Maximum Queries in External Algorithms and Data Memory Structures (WADS) C270 2013 L. Arge, F. van Multiway simple cycle Proc. Symposium on Discrete (PR)(CO)(OA) Walderveen and N. Zeh separators and I/O-efficient Algorithms (SODA) algorithms for planar graphs
C271 2013 G.S. Brodal, A. Brodnik The Encoding Complexity of Proc. European Symposium (PR)(CO)(OA) and P. Davoodi Two Dimensional Range on Algorithms (ESA) Minimum Data Structures
C272 2013 A. Sand, G.S. Brodal, R. A practical O(n log n) time Proc. Asia Pacific (PR)(CO)(OA) Fagerberg, C.N.S. algorithm for computing the Bioinformatics Conference Pedersen and T. Mailund triplet distance on binary (APBC) trees C273 2013 G.S. Brodal, R. Efficient Algorithms for Proc. Symposium on Discrete (PR)(CO)(OA) Fagerberg, C.N.S. Computing the Triplet and Algorithms (SODA) Pedersen, T. Mailund and Quartet Distance Between A. Sand Trees of Arbitrary Degree
C274 2013 S. Pettie and H.-H. Su Fast Distributed Coloring Proc. International (PR)(CO)(OA) Algorithms for Triangle-Free Colloquium on Automata, Graphs Languages and Programming (ICALP) C275 2013 C. Kejlberg-Rasmussen, I/O-Efficient Planar Range Proc. Symposium on (PR)(CO)(OA) Y. Tao, J. Yoon, K. Skyline and Attrition Priority Principles of Database Tsichlas and K. Tsakalidis Queues Systems (PODS)
C276 2013 Z. Wei and K. Yi The Space Complexity of 2- Proc. Symposium on Discrete (PR)(CO)(OA) Dimensional Approximate Algorithms (SODA) Range Counting
C277 2013 E. Verbin and W. Yu Data Structure Lower Bounds Proc. Symposium on (PR)(OA) on Random Access to Combinatorial Pattern Grammar-Compressed Matching (CPM) Strings C278 2013 D. Belazzougui and R. Compressed Static Functions Proc. Symposium on Discrete (PR)(CO)(OA) Venturini with Applications Algorithms (SODA)
C279 2013 T.M. Chan and B.T. Adaptive and Approximate Proc. Symposium on Discrete (PR)(CO)(OA) Wilkinson Orthogonal Range Counting Algorithms (SODA) C280 2013 S. Alamdari, P. Angelini, Morphing Planar Graph Proc. Symposium on Discrete (PR)(CO)(OA) T.M. Chan, G. Di Battista, Drawings with a Polynomial Algorithms (SODA) F. Frati, A. Lubiw, M. Number of Steps Patrignani, V. Roselli, S. Singla and B.T. Wilkinson
C281 2013 T. Jurkiewicz and K. The Cost of Address Proc. Workhop on Algorithm (PR)(OA) Mehlhorn Translation Engineering and Experiments (ALENEX)
C282 2013 G. Moruz and A. Improved space bounds for Proc. International (PR)(OA) Negoescu strongly competitive Colloquium on Automata, randomized paging Languages and Programming algorithms (ICALP) C283 2013 A. Beckmann, U. Meyer, An Implementation of I/O- Proc. European Symposium (PR) (CO)(OA) and D. Veith Efficient Dynamic Breadth- on Algorithms (ESA) First Search Using Level- Aligned Hierarchical Clustering C284 2013 L. Radaelli and C.S. Towards Fully Organic Indoor Proc. International Workshop (PR)(CO)(OA) Jensen Positioning on Indoor Spatial Awareness (ISA) C285 2013 X. Li, V. Ceikute, C.S. Trajectory Based Optimal Proc. International (PR)(CO)(OA) Jensen and K.-L. Tan Segment Computation in Conference on Advances in Road Network Databases Geographic Information Systems (ACM-GIS)
C286 2013 M.B. Kjærgaard, M.V. Indoor Positioning using Wi- Proc. International (PR)(CO)(OA) Krarup, A. Stisen, T.S. Fi—How Well Is the Problem Conference on Indoor Prentow, H. Blunck, K. Understood? Positioning and Indoor Grønbæk and C.S. Navigation (IPIN) Jensen C287 2013 V. Ceikute and C.S. Routing Service Proc. International (PR)(CO)(OA) Jensen Quality—Local Driver Conference on Mobile Data Behavior Versus Routing Management (MDM) Services C288 2013 M. Kaul, B. Yang and Building Accurate 3D Spatial Proc. International (PR)(CO)(OA) C.S. Jensen Networks to Enable Next Conference on Mobile Data Generation Intelligent Management (MDM) Transportation Systems
C289 2013 L. Radaelli, D. Sabonis, Identifying Typical Proc. International (PR)(CO)(OA) H. Lu and C.S. Jensen Movements Among Indoor Conference on Mobile Data Objects— Management (MDM) Concepts and Empirical Study
C290 2013 A. Baniukevic, C.S. Hybrid Indoor Positioning Proc. International (PR)(CO)(OA) Jensen and H. Lu With Wi-Fi and Bluetooth: Conference on Mobile Data Architecture and Performance Management (MDM)
C291 2013 O. Andersen, C.S. EcoTour: Reducing the Proc. International (PR)(CO)(OA) Jensen, K. Torp and B. Environmental Footprint of Conference on Mobile Data Yang Vehicles Using Eco-Routes Management (MDM)
C292 2013 L.R.A. Derczynski, B. Towards Context-Aware Proc. International (PR)(CO)(OA) Yang and C.S. Jensen Search and Analysis on Conference on Extending Social Media Data Database Technology (EDBT)
C293 2013 B. Yang, N. Fantini and iPark: Identifying Parking Proc. International (PR)(CO)(OA) C.S. Jensen Spaces from Trajectories Conference on Extending Database Technology (EDBT)
C294 2013 E. Grant, C. Hegde and Nearly Optimal Linear Proc. Global Conference on (PR)(CO)(OA) P. Indyk Embeddings into Very Low Signal and Information Dimensions Processing (GlobalSIP)
C295 2013 S. Abbar, S. Amer-Yahia, Diverse near neighbor Proc. Symposium on (PR)(CO)(OA) P. Indyk, S. Mahabadi problem Computational Geometry and K.R. Varadarajan (SoCG) C296 2013 E. Grant and P. Indyk Compressive sensing using Proc. Symposium on (PR)(CO)(OA) locality-preserving matrices Computational Geometry (SoCG) C297 2013 L. Schmidt, C. Hegde and The Constrained Earth Proc. International (PR)(CO)(OA) P. Indyk Movers Distance Model, with Conference on Sampling Applications to Compressive Theory and Applications Sensing (SampTA) C298 2013 S. Abbar, S. Amer-Yahia, Real-time recommendation Proc. International (PR)(CO)(OA) P. Indyk and S. Mahabadi of diverse related articles conference on World Wide Web (WWW) C299 2013 P. Indyk and I. On Model-Based RIP-1 Proc. International (PR)(CO)(OA) Razenshteyn Matrices Colloquium on Automata, Languages and Programming (ICALP) C300 2013 B. Ghazi, H. Hassanieh, Sample-optimal average- Proc. Allerton Conference (PR)(CO)(OA) P. Indyk, D. Katabi, E. case sparse fourier Price and L. Shi transform in two dimensions
C301 2013 E. Price and D. Woodruff Lower Bounds for Adaptive Proc. Symposium on Discrete (PR)(CO)(OA) Sparse Recovery Algorithms (SODA)
C302 2013 A. Andoni, H. Hassanieh, Shift Finding in Sub-linear Proc. Symposium on Discrete (PR)(CO)(OA) P. Indyk and D. Katabi Time Algorithms (SODA)
C303 2013 S. Har-Peled, P. Indyk Euclidean spanners in high Proc. Symposium on Discrete (PR)(CO)(OA) and A. Sidiropoulos dimensions Algorithms (SODA)
C304 2013 E.D. Demaine, P. Blame Trees Proc. Algorithms and Data (PR)(CO)(OA) Panchekha, D. Wilson Structures Symposium and E.Z. Yang (WADS) C305 2013 E.D. Demaine, M.J. The two-handed tile Proc. International (PR)(CO)(OA) Patitz, T.A. Rogers, R.T. assembly model is not Colloquium on Automata, Schweller, S.M. Summers intrinsically universal Languages and Programming and D. Woods (ICALP)
C306 2013 E.D. Demaine, J. Iacono, Combining Binary Search Proc. International (PR)(CO)(OA) S. Langerman and O. Trees Colloquium on Automata, Ozkan Languages and Programming (ICALP) C307 2013 S. Cannon, E.D. Two Hands Are Better Than Proc. International (PR)(CO)(OA) Demaine, M.L. Demaine, One (up to constant factors): Symposium on Theoretical S. Eisenstat, M.J. Patitz, Self-Assembly In The 2HAM Aspects of Computer Science R. Schweller, S.M. vs. aTAM (STACS) Summers and A. Winslow
C308 2013 Z. Abel, E.D. Demaine, Algorithms for Designing Pop- Proc. International (PR)(CO)(OA) M.L. Demaine, S. Up Cards Symposium on Theoretical Eisenstat, A. Lubiw, A. Aspects of Computer Science Schulz, D. Souvaine, G. (STACS) Viglietta and A. Winslow
C309 2013 E.D. Demaine and M. Learning Disjunctions: Near- Proc. Symposium on Discrete (PR)(OA) Zadimoghaddam Optimal Trade-off between Algorithms (SODA) Mistakes and "I Don't Know's'' C310 2013 A. Karbasi and M. Constrained Binary Proc. International (PR)(CO)(OA) Zadimoghaddam Identification Problem Symposium on Theoretical Aspects of Computer Science (STACS)
C311 2013 M. Bateni, N. Revenue Maximization with Proc. International (PR)(CO)(OA) Haghpanah, B. Sivan Nonexcludable Goods Conference on Web and and M. Zadimoghaddam Internet Economics (WINE)
C312 2013 N. Korula, V.S. Mirrokni Bicriteria Online Matching: Proc. International (PR)(CO)(OA) and M. Zadimoghaddam Maximizing Weight and Conference on Web and Cardinality Internet Economics (WINE) C313 2013 G.S. Brodal A Survey on Priority Queues Proc. Conference on Space (OA) Efficient Data Structures, Streams and Algorithms
C314 2013 P. Afshani, M. Agrawal, The Query Complexity of Proc. Conference on Space (CO)(OA) B. Doerr, C. Doerr, K.G. Finding a Hidden Permutation Efficient Data Structures, Larsen, K. Mehlhorn Streams and Algorithms
C315 2013 E.D. Demaine, M.L. Variations on Instant Insanity Proc. Conference on Space (CO)(OA) Demaine, S. Eisenstat, Efficient Data Structures, T.D. Morgan and R. Streams and Algorithms Uehara C316 2013 N. Sundaram, A. Streaming Similarity Search Proc. International (PR)(CO)(OA) Turmukhametova, N. over one Billion Tweets using Conference on Very Large Satish, T. Mostak, P. Parallel Locality-Sensitive Data Bases (VLDB) Indyk, S. Madden and P. Hashing Dubey C317 2014 A. Skovsgaard, D. Scalable Top-k Spatio- Proc. International (PR)(OA) Sidlauskas and C.S. Temporal Term Querying Conference on Data Jensen Engineering (ICDE) C318 2014 A. Skovsgaard, D. A Clustering Approach to the Proc. International (PR)(OA) Sidlauskas and C.S. Discovery of Points of Conference on Mobile Data Jensen Interest from Geo-Tagged Management (MDM) Microblog Posts C319 2014 S. Alstrup, E. B. Near-Optimal Labeling Proc. Symposium on Discrete (PR)(CO)(OA) Halvorsen and K.G. Schemes for Nearest Algorithms (SODA) Larsen, Common Ancestors C320 2014 K.G. Larsen, I.J. Munro, On Hardness of Several Proc. Symposium on (PR)(CO)(OA) J.S. Nielsen and S.V. String Indexing Problems Combinatorial Pattern Thankachan Matching (CPM) C321 2014 G. S. Brodal and K. G. Optimal Planar Orthogonal Proc. Scandinavian Workshop (PR)(OA) Larsen Skyline Counting Queries on Algorithm Theory (SWAT)
C322 2014 P. Afshani Fast Computation of Output- Proc. Symposium on Discrete (PR)(OA) Sensitive Maxima in a Word Algorithms (SODA) RAM C323 2014 P. Afshani and K. Optimal Deterministic Proc. Symposium on Discrete (PR)(CO)(OA) Tsakalidis Shallow Cuttings for 3D Algorithms (SODA) Dominance Ranges C324 2014 P. Afshani, C. Sheng, Y. Concurrent Range Reporting Proc. Symposium on Discrete (PR)(CO)(OA) Tao and B.T. Wilkinson in Two-Dimensional Space Algorithms (SODA)
C325 2014 P. Afshani, T.M. Chan Deterministic Rectangle Proc. International (PR)(CO)(OA) and K. Tsakalidis Enclosure and Colloquium on Automata, Offline Dominance Reporting Languages, and on the RAM Programming (ICALP) C326 2014 P. Afshani and N. I/O-efficient Range Minima Proc. Workshops on (PR)(CO)(OA) Sitchinava Queries Algorithm Theory (SWAT) C327 2014 B. T. Wilkinson Amortized bounds for Proc. European Symposium (PR)(OA) dynamic orthogonal range on Algorithms (ESA) reporting C328 2014 Z. Huang and K. Yi The Communication Proc. Symposium on (PR)(CO)(OA) Complexity of Distributed Foundations of Computer epsilon-Approximations Science (FOCS)
C329 2014 K-M. Chung, S. Pettie Distributed Algorithms for Proc. Symposium on (PR)(CO)(OA) and H.-H. Su the Lovász Local Lemma and Principles of Distributed Graph Coloring Computing (PODC)
C330 2014 S. Gilbert, V. King, S. (Near) Optimal Resource- Proc. Symposium on (PR)(CO)(OA) Pettie, E. Porat, J. Saia Competitive Broadcast with Parallelism in Algorithms and and M. Young Jamming Architectures (SPAA) C331 2014 H.-H. Su Brief Announcement: A Proc. Symposium on (PR)(OA) Distributed Minimum Cut Parallelism in Algorithms and Approximation Scheme Architectures (SPAA) C332 2014 D.Belazzougui, G. S. Expected Linear Time Sorting Proc. Workshops on (PR)(CO)(OA) Brodal and J. S. Nielsen for Word Size Ω(log n Algorithm Theory (SWAT) loglogn) C333 2014 M.K. Holt, J. Johansen On the Scalability of Proc.Workshop on Algorithm (PR)(OA) and G.S. Brodal Computing Triplet and Engineering and Experiments Quartet Distances (ALENEX) C334 2014 Z. Wei and K. Yi Equivalence between Priority Proc. European Symposium (PR)(CO)(OA) Queues and Sorting in on Algorithms (ESA) External Memory
C335 2014 L Radaelli, Y. Moses and Using Cameras to Improve Proc. International (PR)(CO)(OA) C.S. Jensen Wi-Fi Based Indoor Symposium on Web and Positioning Wireless Geographical Information Systems C336 2014 B. Yang, C. Guo, C. S. Multi-Cost Optimal Route Proc. International (PR)(CO)(OA) Jensen, M. Kaul and S. Planning under Time-Varying Conference on Data Shang Uncertainty Engineering (ICDE) C337 2014 C. Silvestri, F. Lettich, S. GPU-based Computing of Proc. Euromicro International (PR)(CO)(OA) Orlando and C.S. Jensen Repeated Range Queries Conference on Parallel, over Moving Objects Distributed, and Network- Based Processing
C338 2014 P. Indyk, M. Kapralov (Nearly) Sample-Optimal Proc. Symposium on Discrete (PR)(CO)(OA) and E. Price Sparse Fourier Transform Algorithms (SODA)
C339 2014 A. Andoni, P. Indyk, H.L. Beyond Locality-Sensitive Proc. Symposium on Discrete (PR)(CO)(OA) Nguyen and I. Hashing Algorithms (SODA) Razenshteyn C340 2014 C. Hegde, P. Indyk and Approximation-Tolerant Proc. Symposium on Discrete (PR)(CO)(OA) L. Schmidt Model-Based Compressive Algorithms (SODA) Sensing C341 2014 Z. Abel, E. D. Demaine, Flat Foldings of Plane Graphs Proc. International (PR)(CO)(OA) M. L. Demaine, D. with Prescribed Angles and Symposium on Graph Eppstein, A. Lubiw and R. Edge Lengths Drawing (GD) Uehara
C342 2014 E. D. Demaine, M. How to Influence People with Proc. International World (PR)(CO)(OA) Hajiaghayi, H. Mahini, D. Partial Incentives Wide Web Conference L. Malec, S. Raghavan, A. Sawant and M. Zadimoghaddam
C343 2014 C.Tsirogiannis, B.Sandel New algorithms for Proc. Workshop on (PR)(CO)(OA) and A. Kalvisa. computing phylogenetic Algorithms in Bioinformatics biodiversity. (WABI) C344 2014 D. Sidlauskas and C. S. Spatial Joins in Main Proc. International (PR)(CO)(OA) Jensen Memory: Implementation Conference on Very Large Matters! Data Bases (VLDB) C345 2014 K. S. Bøgh, S. Chester, Hashcube: A Data Structure Proc. International (PR)(CO)(OA) D. Sidlauskas and I. for Space- and Query- Conference on Conference on Assent Efficient Skycube Information and Knowledge Compression Management (CIKM)
C346 2014 A. Skovsgaard and C.S. Top-k point of interest Proc. International (PR)(OA) Jensen retrieval using standard Conference on Advances in indexes. Geographic Information Systems (ACM-GIS)
C347 2014 D. Chen, C. Konrad, K. Robust Set Reconciliation Proc. International (PR)(CO)(OA) Yi, W. Yu and Q. Zhang Conference on Management of Data (SIGMOD)
C348 2014 A. Grønlund and S. Pettie Threesomes, Degenerates, IEEE Symposium on (PR)(OA) and Love Triangles Foundations of Computer Science (FOCS 2014) C349 2014 D. Nanongkai and H.-H. Almost-Tight Distributed Proc. International (PR)(CO)(OA) Su Minimum Cut Algorithms Symposium Distributed Computing (DISC) C350 2014 J. I. Munro, G. Navarro, Top-k Term-Proximity in Proc. International (PR)(CO)(OA) J. S. Nielsen, R. Shah Succinct Space Symposium on Algorithms and S. V. Thankachan and Computation (ISAAC)
C351 2014 P. Indyk, S.Mahabadi, M. Composable Core-sets for Proc. Symposium on (PR)(CO)(OA) Mahdian and V. S. Diversity and Coverage Principles of Database Mirrokni Maximization Systems (PODS) C352 2014 E.D. Demaine, P. Indyk, On Streaming and Proc. International (PR)(CO)(OA) S. Mahabadi and A. Communication Complexity Symposium Distributed Vakilian of the Set Cover Problem Computing (DISC)
C353 2014 P. Indyk and M. Kapralov Sample-Optimal Fourier Proc. Symposium on (PR)(CO)(OA) Sampling in Any Constant Foundations of Computer Dimension Science (FOCS) C354 2014 L. Schmidt, C. Hegde, P. Automatic Fault Localization Proc. International (PR)(CO)(OA) Indyk, J. Kane, L. Lu and Using the Generalized Earth Conference on Acoustics, D. Hohl Mover's Distance Speech and Signal Processing (ICASSP) C355 2014 C. Hegde, P. Indyk and A Fast Approximation Proc. International (PR)(CO)(OA) L. Schmidt Algorithm for Tree-Sparse Symposium on Information Recovery Theory (ISIT) C356 2014 C. Hegde, P. Indyk and Nearly Linear-Time Model- Proc. International (PR)(CO)(OA) L. Schmidt Based Compressive Sensing Colloquium on Automata, Languages, and Programming (ICALP) C357 2014 A. Backurs and P. Indyk Better embeddings for planar Proc. Symposium on (PR)(CO)(OA) Earth-Mover Distance over Computational Geometry sparse sets (SoCG) C358 2014 H. Hassanieh, L. Shi, O. GHz-wide sensing and Proc. INFOCOM (PR)(CO) Abari, E. Hamed and D. decoding using the sparse Katabi Fourier transform C359 2014 E. D. Demaine, Y. Huang, Canadians Should Travel Proc. International (PR)(CO)(OA) C.-S. Liao and K. Randomly Colloquium on Automata, Sadakane Languages and Programming (ICALP) C360 2014 E. D. Demaine, M. L. One Tile to Rule Them All: Proc. International (PR)(CO)(OA) Demaine, S. P. Fekete, Simulating Any Tile Colloquium on Automata, M. J. Patitz, R. T. Assembly System with a Languages and Programming Schweller, A. Winslow Single Universal Tile (ICALP) and D. Woods C361 2014 G. Aloupis, E. D. Classic Nintendo Games are Proc. International (CO)(OA) Demaine, A. Guo and G. (NP-)Hard Conference on Fun with Viglietta Algorithms C362 2014 E. D. Demaine, F. Ma and Playing Dominoes is Hard, Proc. International (CO)(OA) E. Waingarten Except by Yourself Conference on Fun with Algorithms C363 2014 K. Yamanaka, E. D. Swapping Labeled Tokens on Proc. International (CO)(OA) Demaine, T. Ito, J. Graphs Conference on Fun with Kawahara, M. Kiyomi, Y. Algorithms Okamoto, T. Saitoh, A. Suzuki, K. Uchizawa and T. Uno C364 2014 E. D. Demaine and M. L. Fun with Fonts: Algorithmic Proc. International (CO)(OA) Demaine Typography Conference on Fun with Algorithms C365 2014 Z. Abel, E. D. Demaine, Continuously Flattening Proc. Symposium on (PR)(CO)(OA) M. L. Demaine, J.-I. Itoh, Polyhedra Using Straight Computational Geometry A. Lubiw, C. Nara and J. Skeletons (SoCG) O'Rourke
C366 2014 B. An, S. Miyashita, M. T. An End-To-End Approach to Proc. International (PR)(CO)(OA) Tolley, D. M. Aukes, L. Making Self-Folded 3D Conference on Robotics and Meeker, E. D. Demaine, Surface Shapes by Uniform Automation M. L. Demaine, R. J. Heating Wood and D. Rus
C367 2014 A. Becker, E. D. Particle Computation: Proc. International (PR)(CO)(OA) Demaine, S. Fekete and Designing Worlds to Control Conference on Robotics and J. McLurkin Robot Swarms with Only Automation Global Signals C368 2014 Y. Bachrach, O. Lev, S. Cooperative weakest link Proc. International (PR)(CO)(OA) Lovett, J. S. Rosenschein games Conference on Autonomous and M. Zadimoghaddam Agents and Multiagent Systems C369 2014 A. Termehchy, A. Which Concepts are Worth Proc. International (PR)(CO)(OA) Vakilian, Y. Extracting? Conference on the Chodpathumwan and M. Management of Data Winslett (SIGMOD) C370 2014 A. Ene and A. Vakilian Improved Approximation Proc. Symposium on Theory (PR)(CO)(OA) Algorithms for Degree- of Computing (STOC) bounded Network Design Problems with Node Connectivity Requirements
C371 2014 L. Arge, J. Truelsen and Simplifying massive planar Proc. Workshop on Algorithm (PR)(OA) J. Yang subdivisions Engineering and Experiments (ALENEX)
C372 2015 Z. Huang, B. Radunovic, Communication Complexity Proc. Symposium on (PR)(CO)(OA) M. Vojnovic and Q. of Approximate Maximum Theoretical Aspects of Zhang Matching in Distributed Graph Computer Science (STACS)
C373 2015 G. S. Brodal, J. S. Strictly Implicit Priority Proc. Workshop on (PR)(OA) Nielsen and J. Truelsen Queues: On the Number of Algorithms and Data Moves and Worst-Case Time Structures (WADS)
C374 2015 M. Elkin and S. Pettie A Linear-Size Logarithmic Proc. Symposium on Discrete (PR)(CO)(OA) Stretch Path-Reporting Algorithms (SODA) Distance Oracle for General Graphs
C375 2015 S. Pettie Sharp Bounds on Formation- Proc. Symposium on Discrete (PR)(OA) free Sequences Algorithms (SODA)
C376 2015 M. Elkin, S. Pettie and H.- (2Δ-1)-Edge Coloring is Proc. Symposium on Discrete (PR)(CO)(OA) H. Su Much Easier than Maximal Algorithms (SODA) Matching in the Distributed Setting C377 2015 T. Kopelowitz, S. Pettie Dynamic Set Intersection Proc. Workshop on (PR)(CO)(OA) and E. Porat Algorithms and Data Structures (WADS) C378 2015 P. K. Agarwal, T. Maintaining Contour Trees of Proc. Symposium on (PR)(CO)(OA) Mølhave, M. Revsbæk, I. Dynamic Terrains Computational Geometry Safa, Y. Wang and J. (SoCG) Yang. C379 2015 S. Chester, D. Scalable parallelization of Proc. IEEE Conference on (PR)(CO)(OA) Sidlauskas, I. Assent skyline computation for multi- Data Engineering (ICDE) and K. S. Bøgh core processors C380 2015 W. Son and P. Afshani Streaming Algorithms for Proc. Conference on Theory (PR)(OA) Smallest Intersecting Ball of and Applications of Models of Disjoint Balls Computation (TAMC)
C381 2015 M. Goswami, A. Approximate Range Proc. Symposium on Discrete (PR)(CO)(OA) Grønlund, K. G. Larsen Emptiness in Constant Time Algorithms (SODA) and R. Pagh and Optimal Space C382 2015 K. G. Larsen, J. Nelson Time Lower Bounds for Proc. Symposium on Theory (PR)(CO)(OA) and H. L. Nguyen Nonadaptive Turnstile of Computing (STOC) Streaming Algorithms C383 2015 D. Ajwani, U.Meyer and An I/O-efficient Distance Proc. Workshop on Algorithm (PR)(CO)(OA) D. Veith Oracle for Evolving Real- Engineering and Experiments World Graphs (ALENEX)
C384 2015 A. Andoni and I. Optimal Data-Dependent Proc. Symposium on Theory (PR)(CO)(OA) Razenshteyn Hashing for Approximate of Computing (STOC) Near Neighbors C385 2015 Z. Allen-Zhu, R. Restricted Isometry Property Proc. Symposium on (PR)(CO)(OA) Gelashvili and I. for General p-Norms Computational Geometry Razenshteyn (SoCG) C386 2015 S. Lattanzi, S. Leonardi, Robust Hierarchical k-Center Proc. Innovations in (PR)(CO)(OA) V. Mirrokni and I. Clustering Theoretical Computer Science Razenshteyn (ITCS) C387 2015 A. Andoni, R. Sketching and Embedding Proc. Symposium on the (PR)(CO)(OA) Krauthgamer and I. are Equivalent for Norms. Theory of Computing (STOC) Razenshteyn C388 2015 C. Hegde, P. Indyk and A Nearly-Linear Time Proc. International (PR)(CO)(OA) L. Schmidt Framework for Graph- Conference on Machine Structured Sparsity Learning (ICML) C389 2015 L. Schmidt, C. Hegde, P. Seismic feature extraction Proc. International (PR)(CO)(OA) Indyk, L. Lu, X. Chi and using steiner tree methods Conference on Acoustics, D. Hohl Speech and Signal Processing (ICASSP) C390 2015 A. Andoni, P. Indyk, T. Practical and Optimal LSH for Proc. Advances in Neural (PR)(CO)(OA) Laarhoven, I. P. Angular Distance Information Processing Razenshteyn and L. Systems (NIPS) Schmidt
C391 2015 A. Kim, E. Blais, A. G. Rapid Sampling for Proc. International (PR)(CO)(OA) Parameswaran, P. Indyk, Visualizations with Ordering Conference on Very Large S. Madden and R. Guarantees Data Bases (VLDB) Rubinfeld C392 2015 J. Acharya, I. Fast and Near-Optimal Proc. Symposium on (PR)(CO)(OA) Diakonikolas, C. Algorithms for Approximating Principles of Database Hegde, J. Z. Li and L. Distributions by Histograms Systems (PODS) Schmidt
C393 2015 A. Backurs and P. Indyk Edit Distance Cannot Be Proc. Symposium on the (PR)(CO)(OA) Computed in Strongly Theory of Computing (STOC) Subquadratic Time (unless SETH is false) C394 2015 A. Kovacs, U. Meyer, and Mechanisms with monitoring Proc. Conference on Web and (PR)(CO)(OA) C. Ventre for truthful RAM allocation Internet Economics (WINE)
C395 2015 P. Chalermsook, M. Self-Adjusting Binary Search Proc. European Symposium (PR)(CO)(OA) Goswami, L. Kozma, K. Trees: What Makes Them on Algorithms (ESA) Mehlhorn and T. Tick? Saranurak C396 2015 P. Chalermsook, M. Pattern-Avoiding Access in Proc. Symposium on (PR)(CO)(OA) Goswami, L. Kozma, K. Binary Search Trees Foundations of Computer Mehlhorn and T. Science (FOCS) Saranurak C397 2015 P. Chalermsook, M. Greedy Is an Almost Optimal Proc. Workshop on (PR)(CO)(OA) Goswami, L. Kozma, K. Deque Algorithms and Data Mehlhorn and T. Structures (WADS) Saranurak C398 2015 L. Arge, M. Rav, S. Raza I/O-Efficient Event Based Proc. Workshop on Massive (OA) and M. Revsbæk Depression Flood Risk Data Algorithmics (MASSIVE)
C399 2015 M. de Berg, C. Fast Computation of Proc. International (PR)(CO)(OA) Tsirogiannis and B.T. Categorical Richness on Conference on Advances in Wilkinson Raster Data Sets and Geographic Information Related Problems Systems (ACM-GIS)
C400 2015 M. de Berg, C. Fast Computation of Proc. Workshop on Massive (CO)(OA) Tsirogiannis and B.T. Categorical Richness on Data Algorithmics (MASSIVE) Wilkinson Raster Data Sets and Related Problems C401 2015 C. Alexander, L. Arge, P. Computing River Floods Proc. Workshop on Massive (OA) K. Bøcher, M. Revsbæk, Using Massive Terrain Data Data Algorithmics (MASSIVE) B. Sandel, J-C. Svenning, C. Tsirogiannis and J. Yang
C402 2015 P. Afshani and N. Sorting and Permuting Proc. European Symposium (PR)(CO)(OA) Sitchinava without Bank Conflicts on on Algorithms (ESA) GPUs C403 2015 A. Abboud, A. Backurs If the Current Clique Proc. Symposium on (PR)(CO)(OA) and V. A. Williams Algorithms are Optimal, So is Foundations of Computer Valiant's Parser Science (FOCS) C404 2015 R. Clifford, A. Grønlund New Unconditional Hardness Proc. Symposium on (PR)(CO)(OA) and K. G. Larsen Results for Dynamic and Foundations of Computer Online Problems Science (FOCS)
C405 2015 E. D. Demaine, S. New Geometric Algorithms Proc. International (PR)(CO)(OA) Fekete, C. Scheffer and for Fully Connected Staged Conference on DNA A. Schmidt Self-Assembly Computing and Molecular Programming C406 2015 E. D. Demaine, T. Kaler, Polylogarithmic Fully Proc. Workshop on (PR)(CO)(OA) Q. Liu, A. Sidford and A. Retroactive Priority Queues Algorithms and Data Yedidia via Hierarchical Checkpointing Structures (WADS)
C407 2015 E. D. Demaine, V. Gopal Cache-Oblivious Iterated Proc. Workshop on (PR)(CO)(OA) and W. Hasenplaugh Predecessor Queries via Algorithms and Data Range Coalescing Structures (WADS) C408 2015 A. T. Becker, E. D. Tilt: The Video -- Designing Multimedia Exposition in (PR)(CO)(OA) Demaine, S. P. Fekete, Worlds to Control Robot Proc. Symposium on H. M. Shad and R. Morris- Swarms with Only Global Computational Geometry Wright Signals (SoCG) C409 2015 H. M. Shad, R. Morris- Particle computation: Device Proc. IEEE International (PR)(CO)(OA) Wright, E. D. Demaine, fan-out and binary memory Conference on Robotics and S. P. Fekete and A. Automation (ICRA) Becker C410 2015 E. D. Demaine, S. Fekete New Geometric Algorithms Proc. European Workshop on (CO)(OA) and A. Schmidt for Staged Self-Assembly Computational Geometry (EuroCG)
C411 2015 E. D. Demaine, D. Folding a Paper Strip to Proc. International Workshop (PR)(CO)(OA) Eppstein, A. Hesterberg, Minimize Thickness on Algorithms and H. Ito, A. Lubiw, R. Computation (WALCOM) Uehara and Y. Uno
C412 2015 S. M. Oh, G. T. A Dissimilarity Measure for Proc. International (PR)(CO)(OA) Toussaint, E. D. Demaine Comparing Origami Crease Conference on Pattern and M. L. Demaine Patterns Recognition Applications and Methods (ICPRAM) C413 2015 A. Mehta, B. Waggoner Online Stochastic Matching Proc. Symposium on Discrete (PR)(CO)(OA) and M. Zadimoghaddam with Unequal Probabilities Algorithms (SODA)
C414 2015 A. Bhaskara, A. Theertha Sparse Solutions to Proc. International (PR)(CO)(OA) and M. Zadimoghaddam Nonnegative Linear Systems Conference on Artificial and Applications Intelligence and Statistics (AISTATS) C415 2015 A. Abboud, A. Backurs Tight Hardness Results for Proc. Symposium on (PR)(CO)(OA) and V. A. Williams LCS and Other Sequence Foundations of Computer Similarity Measures. Science (FOCS)
C416 2016 U. Meyer and M. Generating Massive Scale- Proc. Workshop on Algorithm (PR)(OA) Penschuck Free Networks under Engineering and Experiments Resource Constraints (ALENEX)
C417 2016 S. Ashkiani, A. Davidson, GPU Multisplit Proc. Symposium on (PR) (CO)(OA) U. Meyer and J. Owens Principles and Practice of Parallel Programming (PPoPP)
C418 2016 R. Duan, J. Garg and K. An Improved Combinatorial Proc. Symposium on Discrete (PR) (CO)(OA) Mehlhorn Polynomial Algorithm for the Algorithms (SODA) Linear Arrow-Debreu Market
C419 2016 Z. Abel, E.D. Demaine, Who Needs Crossings? Proc. International (PR) (CO)(OA) M.L. Demaine, S. Hardness of Plane Graph Conference on Computational Eisenstat, J. Lynch and Rigidity Geometry (SoCG) T.B. Schardl
C420 2016 E.D. Demaine, G. Super Mario Bros. is Proc. International (CO)(OA) Viglietta and A. Williams Harder/Easier than We Conference on Fun with Thought Algorithms C421 2016 E.D. Demaine, F. Ma, E. The Fewest Clues Problem Proc. International (CO)(OA) Waingarten, A. Conference on Fun with Schvartzman and S. Algorithms Aaronson C422 2016 E.D. Demaine, J. Lynch, Energy-Efficient Algorithms Proc. ACM Conference on (PR) (CO)(OA) G.J. Mirano and N. Tyagi Innovations in Theoretical Computer Science
C423 2016 K.G. Larsen and J. Nelson The Johnson-Lindenstrauss Proc. International (PR) (CO)(OA) Lemma is Optimal for Linear Colloquium on Automata, Dimensionality Reduction Languages and Programming (ICALP) C424 2016 A. Grønlund and K.G. Towards Tight Lower Bounds Proc. International (PR)(OA) Larsen for Range Reporting on the Colloquium on Automata, RAM Languages and Programming (ICALP) C425 2016 C. Baum, I. Damgård, How to prove knowledge of Proc. International (PR)(CO) K.G. Larsen and M. small secrets Cryptology Conference Nielsen (CRYPTO) C426 2016 P. Afshani and J.A.S. Data Structure Lower Bounds Proc. International (PR)(OA) Nielsen for Document Indexing Colloquium on Automata, Problems Languages and Programming (ICALP) C427 2016 P. Afshani, E. Berglin, I. Applications of incidence Proc. International (PR)(OA) van Duijn and J.A.S. bounds in point covering Conference on Computational Nielsen problems Geometry (SoCG)
C428 2016 P. Afshani, D. R. Sheehy Approximating the Simplicial Proc. European Workshop on (CO)(OA) and Y. Stein Depth in High Dimensions Computational Geometry (EuroCG)
C429 2016 J. Yon, S.W. Bae, S-W. Approximating Convex Proc. International (PR) (CO)(OA) Cheng, O. Cheong and Shapes with respect to Conference on Computational B.T. Wilkinson Symmetric Difference under Geometry (SoCG) Homotheties C430 2016 C. Tsirogiannis and B. Fast Phylogenetic Proc. International (PR)(OA) Sandel Biodiversity Computations Conference on Research in Under a Non-Uniform Computational Molecular Random Distribution Biology (RECOMB)
C431 2016 C. Alexander, L. Arge, Computing River Floods Proc. International (PR)(OA) P.K. Bøcher, M. Using Massive Terrain Data Conference on Geographic Revsbæk, B. Sandel, J.- Information Science C. Svenning, C. (GIScience) Tsirogiannis, and J. Yang
C432 2016 M. Löffler, F. Staals and New Results on Trajectory Proc. European Workshop on (CO)(OA) J. Urhausen Grouping under Geodesic Computational Geometry Distance (EuroCG)
C433 2016 M. van Kreveld, M. A Refined Definition for Proc. European Workshop on (CO)(OA) Löffler, F. Staals and L. Groups of Moving Entities Computational Geometry Wiratma and its Computation (EuroCG)
C434 2016 A. van Goethem, M. van Grouping Time-varying Data Proc. Symposium on (PR) (CO)(OA) Kreveld, M. Löffler, B. for Interactive Exploration Computational Geometry Speckmann and F. Staals (SoCG)
C435 2016 I. Kostitsnya, M. Löffler, On the complexity of Proc. Symposium on (PR) (CO)(OA) V. Polishchuk and F. minimum-link path problems Computational Geometry Staals (SoCG) C436 2016 T. Kopelowitz, S. Pettie Higher Lower Bounds from Proc. Symposium on Discrete (PR) (CO)(OA) and E. Porat the 3SUM Conjecture Algorithms (SODA)
C437 2016 G.S. Brodal External Memory Three- Proc. Symposium on (PR)(OA) Sided Range Reporting and Theoretical Aspects of Top-k Queries with Computer Science (STACS) Sublogarithmic Updates C438 2016 Z. Huang and P. Peng Dynamic Graph Stream Proc. International (PR) (CO)(OA) Algorithms in o(n) Space Colloquium on Automata, Languages and Programming (ICALP) C439 2016 P. Brandes, Z. Huang, H.- Clairvoyant Mechanisms for Proc. International (PR) (CO)(OA) H. Su and R. Wattenhofer Online Auctions Conference on Computing and Combinatorics (COCOON)
C440 2016 A. Backurs, P. Indyk, I. Nearly-optimal bounds for Proc. Symposium on Discrete (PR) (CO)(OA) Razenshteyn and D.P. sparse recovery in generic Algorithms (SODA) Woodruff norms, with applications to k- median sketching C441 2016 M. Cheraghchi and P. Nearly Optimal Deterministic Proc. Symposium on Discrete (PR) (CO)(OA) Indyk Algorithm for Sparse Walsh- Algorithms (SODA) Hadamard Transform
C442 2016 S. Har-Peled, P. Indyk, Towards Tight Bounds for Proc. Symposium on (PR) (CO)(OA) S. Mahabadi and A. the Streaming Set Cover Principles of Database Vakilian Problem Systems (PODS) C443 2016 A. Abboud, A. Backurs, Subtree Isomorphism Proc. Symposium on Discrete (PR) (CO)(OA) T.D. Hansen, V.V. Revisited Algorithms (SODA) Williams and O. Zamir
Journals J1 2007 G. S. Brodal, R. On the Adaptiveness of ACM Journal of Experimental (PR) (CO) Fagerberg and G. Moruz Quicksort Algorithmics, 12
J2 2008 D. Ajwani, T. Friedrich An O(n^{2.75}) Algorithm ACM Transactions on (PR) and U. Meyer for Incremental Topological Algorithms, 4(4) Ordering
J3 2008 M. Stissing, T. Mailund, Computing the All-Pairs Journal of Bioinformatics and (PR)(CO) C. N. S. Pedersen, G. S. Quartet Distance on a set of Computational Biology, 6(1) Brodal and R. Fagerberg Evolutionary Trees
J4 2008 L. Arge, M. de Berg, H. J. The Priority R-Tree: A ACM Transactions on (PR)(CO) Haverkort and K. Yi Practically Efficient and Algorithms, 4(1) Worst-Case Optimal R-Tree
J5 2009 M. Olsen Nash Stability in Additively Theory of Computing (PR) Separable Hedonic Games Systems, 45(4) and Community Structures
J6 2009 M. Abam, M. de Berg, M. Region-Fault Tolerant Discrete & Computational (PR)(CO) Farshi and J. Geometric Spanners Geometry, 41(4) Gudmundsson J7 2009 M. Abam, M. de Berg and Kinetic kd-Trees and Longest- SIAM Journal of Computing, (PR)(CO) B. Speckmann Side kd-Trees 39(4) J8 2009 L. Arge, V. Samoladas Optimal External-Memory Algorithmica, 54(3) (PR)(CO) and K. Yi Planar Point Enclosure
J9 2009 L. Arge, M. de Berg and Cache-Oblivious R-Trees Algorithmica, 53(1) (PR)(CO) H. Haverkort J10 2009 H. Iben, J. O'Brien and E. Refolding Planar Polygons Discrete & Computational (PR)(CO) Demaine Geometry, 41(3) J11 2009 E. Demaine, M. Minimizing Movement ACM Transactions on (PR)(CO) Hajiaghayi, H. Mahini, A. Algorithms, 5(3) Sayedi-Roshkhar, S. Oveisgharan and M. Zadimoghaddam J12 2009 E. Demaine, M. Algorithmic Graph Minor Algorithmica, 54(2) (PR)(CO) Hajiaghayi and K. Theory: Improved Grid Minor Kawarabayashi Bounds and Wagner's Contraction J13 2009 T. Abbott, M. Burr, T. Dynamic Ham-Sandwich Computational Geometry: (PR)(CO) Chan, E. Demaine, M. Cuts in the Plane Theory and Applications, Demaine, J. Hugg, D. 42(5) Kane, S. Langerman, J. Nelson, E. Rafalin, K. Seyboth and V. Yeung
J14 2009 E.D. Demaine, M. The Price of Anarchy in ACM SIGECOM Exchanges, (PR)(CO) Hajiaghayi, H. Mahini and Network Creation Games 8(2) M. Zadimoghaddam
J15 2009 E.D. Demaine, M.L. Wrapping Spheres with Flat Computational Geometry: (PR)(CO) Demaine, J. Iacono and Paper Theory and Applications, S. Langerman 42(8) J16 2010 P. Indyk and A. Gilbert Sparse Recovery Using Proceedings of the IEEE June (PR)(CO) Sparse Matrices 2010 J17 2010 E.D. Demaine, Confluently Persistent Tries Algorithmica 57(3) (PR)(CO) S.Langerman and E. Price for Efficient Version Control J18 2010 M.A. Abam, M. de Berg, Streaming Algorithms for Discrete & Computational (PR)(CO) P. Hachenberger and A. Line Simplification Geometry 43(3) Zarei
J19 2010 M.A. Abam, M. de Berg A Simple and Efficient Kinetic Computational Geometry: (PR)(CO) and J. Gudmundsson Spanner Theory and Applications 43(3)
J20 2010 D. Ajwani and T. Friedrich Average-case Analysis of Discrete Applied Mathematics (PR)(CO) Incremental Topological 158 Ordering J21 2010 H. Blunck and J. In-Place Algorithms for Algorithmica 57(1) (PR)(CO) Vahrenhold Computing (Layers of) Maxima J22 2010 P. Indyk, Z. Syed, C. Motif discovery in ACM Transactions on (PR)(CO) Stultz, M. Kellis and J. physiological datasets: A Knowledge Discovery in Data Guttag methodology for inferring 4(1) predictive elements
J23 2010 E. Hawkes, B. An, N. M. Programmable matter by Proceedings of the National (PR)(CO) Benbernou, H. Tanaka, folding Academy of Sciences of the S. Kim, E.D. Demaine, D. United States of America Rus and R.J. Wood 107(28)
J24 2010 J.L. Bredin, E.D. Deploying Sensor Networks IEEE/ACM Transactions on (PR)(CO) Demaine, M. Hajiaghayi with Guaranteed Fault Networking 18(1) and D. Rus Tolerance
J25 2010 E.D. Demaine, J. Iacono Grid Vertex-Unfolding International Journal of (PR)(CO) and S. Langerman Orthostacks Computational Geometry and Applications 20(3) J26 2010 E.D. Demaine, S.P. Integer Point Sets Minimizing Computational Geometry: (PR)(CO)
Fekete, G. Rote, N. Average Pairwise L1 Theory and Applications 44(2) Schweer, D. Scymura Distance: What is the and M. Zelke Optimal Shape of a Town?
J27 2010 R. Connelly, E.D. Locked and Unlocked Chains Discrete & Computational (PR)(CO) Demaine, M.L. Demaine, of Planar Shapes Geometry 44(2) S. Fekete, S. Langerman, J. S. B. Mitchell, A. Ribó and G. Rote
J28 2010 P.K. Agarwal, L. Arge and I/O-Efficient Batched Union- ACM Transactions on (PR)(CO) K. Yi Find and Its Applications to Algorithms 7(1) Terrain Analysis
J29 2010 P. Afshani, C. Hamilton A General Approach for Computational geometry: (PR)(CO) and N. Zeh Cache-Oblivious Range Theory and applications 43(8) Reporting and Approximate Range Counting
J30 2010 J. Katajainen and S. S. A compact data structure for Information Processing (PR)(CO) Rao representing a dynamic Letters 110(23) multiset J31 2010 M.A. Bender, G.S. Optimal Sparse Matrix Dense Theory of Computing (PR)(CO) Brodal, R. Fagerberg, R. Vector Multiplication in the Systems 47(4) Jacob and E. Vicari I/O-Model
J32 2010 C. Demetrescu, B. Adapting Parallel Algorithms Theoretical Computer Science (PR)(CO) Escoffier, G. Moruz and to the W-Stream Model, with 411(44-46) A. Ribichini Applications to Graph Problems
J33 2011 J. E. Moeslund, L. Arge, Geographically Wetlands 31(3) (PR)(CO) P. K. Bøcher, B. Nygaard Comprehensive Assessment and J.-C. Svenning of Salt-Meadow Vegetation- Elevation Relations Using LiDAR
J34 2011 B. Sandel, L. Arge, B. The influence of Late Science 334 (PR)(CO) Dalsgaard, R. Davies, K. Quaternary climate-change Gaston, W. Sutherland velocity on species endemism and J.-C. Svenning J35 2011 B. Dalsgaard, E. Magård, Specialization in Plant- PLoS ONE 6 (PR)(CO) J. Fjeldså, A.M. Martín Hummingbird Networks Is González, C. Rahbek, J. Associated with Species Olesen, J. Ollerton, R. Richness, Contemporary Alarcón, A.C. Araujo, P.A. Precipitation and Quaternary Cotton, C. Lara, C.G. Climate-Change Velocity Machado, I. Sazima, M. Sazima, A. Timmermann, S. Watts, B. Sandel, W. Sutherland and J.-C. Svenning
J36 2011 B. Sandel, M. Krupa and Using plant functional traits Ecosphere 2 (PR)(CO) J. Corbin to guide restoration: A case study in California coastal grassland
J37 2011 P. Afshani, C. Hamilton Cache-Oblivious Range Discrete & Computational (PR)(CO) and N. Zeh Reporting With Optimal Geometry 45(4) Queries Requires Superlinear Space J38 2011 G.S. Brodal, B. Gfeller, Towards Optimal Range Theoretical Computer Science (PR)(CO) A.G. Jørgensen and P. Medians 412(24) Sanders
J39 2011 M. Kutz, G.S: Brodal, K. Faster Algorithms for Journal of Discrete (PR)(CO) Kaligosi and I. Katriel Computing Longest Common Algorithms 9(4) Increasing Subsequences
J40 2011 M.A. Bender, G.S. The Cost of Cache-Oblivious Algorithmica 61(2) (PR)(CO) Brodal, R. Fagerberg, D. Searching Ge, S. He, H. Hu, J. Iacono and A. López-Ortiz
J41 2011 H.L. Chan, T.W. Lam, Approximating frequent Algorithmica 4(3) (PR) (CO) L.K. Lee and H.F. Ting items in asynchronous data stream over a sliding window
J42 2011 C. Daskalakis, R. M. Sorting and Selection in SIAM Journal of Computing (PR)(CO) Karp, E. Mossel, S. Posets Riesenfeld and E. Verbin
J43 2011 M. A. Abam and M. de Kinetic Spanners in R^d Discrete & Computational (PR)(CO) Berg Geometry 45(4) J44 2011 M. A. Abam, M. de Berg, Geometric Spanners for Algorithmica 61(1) (PR)(CO) M. Farshi, J. Weighted Point Sets Gudmundsson and M. H. M. Smid J45 2011 M. A. Abam, P. K. Out-of-Order Event Algorithmica 60(2) (PR)(CO) Agarwal, M. de Berg and Processing in Kinetic Data H. Yu Structures J46 2011 J. Freixas, X. Molinero, On the Complexity of RAIRO - Operations Research (PR)(CO) M. Olsen and M. J. Serna Problems on Simple Games 45(4)
J47 2011 A. Beckman, U. Meyer, P. Energy-Efficient Sorting Sustainable Computing: (PR)(CO) Sanders and J. Singler using Solid State Disks Informatics and Systems 1(2)
J48 2011 E. D. Demaine, S. P. Integer Point Sets Minimizing Computational Geometry: (PR)(CO) Fekete, G. Rote, N. Average Pairwise L1 Theory and Applications 44(2) Schweer, D. Schymura Distance: What is the and M. Zelke Optimal Shape of a Town?
J49 2011 B. An, N. Benbernou, E. Planning to Fold Multiple Robotica 29(1) (PR)(CO) D. Demaine and D. Rus Objects from a Single Self- Folding Sheet J50 2011 G. Aloupis, S. Collette, Efficient constant-velocity Robotica 29(1) (PR)(CO) M. Damian, E. D. reconfiguration of crystalline Demaine, R. Flatland, S. robots Langerman, J. O'Rourke, V. Pinciu, S. Ramaswami, V. Sacristan and S. Wuhrer
J51 2011 E. D. Demaine, M. L. (Non)existence of Pleated Graphs and Combinatorics (PR)(CO) Demaine, V. Hart, G. N. Folds: How Paper Folds 27(3) Price and T. Tachi Between Creases
J52 2011 E. D. Demaine, M. L. Continuous Blooming of Graphs and Combinatorics (PR)(CO) Demaine, V. Hart, J. Convex Polyhedra 27(3) Iacono, S. Langerman and J. O'Rourke
J53 2011 J. Cardinal, E. D. Algorithmic Folding Graphs and Combinatorics (PR)(CO) Demaine, M. L. Demaine, Complexity 27(3) S. Imahori, T. Ito, M. Kiyomi, S. Langerman, R. Uehara and T. Uno
J54 2011 K. C. Cheung, E. D. Programmable Assembly IEEE Transactions on (PR)(CO) Demaine, J. Bachrach With Universally Foldable Robotics 27(4) and S. Griffith Strings (Moteins) J55 2011 G. Aloupis, P. Bose, E. D. Computing Signed International Journal of (PR)(CO) Demaine, S. Langerman, Permutations of Polygons Computational Geometry and H. Meijer, M. Overmars Applications 21(1) and G. T. Toussaint
J56 2011 T. Ito, E. D. Demaine, N. On the Complexity of Theoretical Computer Science (PR)(CO) J. A. Harvey, C. H. Reconfiguration Problems 412(12-14) Papadimitriou, M. Sideri, R. Uehara and Y. Uno
J57 2011 H. Ahn, S. Bae, E. D. Covering points by disjoint Computational Geometry: (PR)(CO) Demaine, M. L. Demaine, boxes with outliers Theory and Applications 44(3) S. Kim, M. Korman, I. Reinbacher and W. Son
J58 2011 J. Cardinal, E. D. The Stackelberg Minimum Algorithmica 59(2) (PR)(CO) Demaine, S. Fiorini, G. Spanning Tree Game Joret, S. Langerman, I. Newman and O. Weimann
J59 2011 H. Haverkort and F. van Four-Dimensional Hilbert Journal of Experimental (PR)(CO) Walderveen Curves for R-Trees Algorithmics 16 J60 2012 B. Sandel and J. Corbin Scale and diversity following Journal of Vegetation Science (PR)(CO)(OA) manipulation of productivity 23(5) and disturbance in Californian coastal grasslands. J61 2012 M. Schleuning, J. Fründ, Specialization of Mutualistic Current Biology 22(20) (PR)(CO)(OA) A-M. Klein, S. Interaction Networks Abrahamczyk, R. Decreases toward Tropical Alarcón, M. Albrecht, Latitudes G.K.S. Andersson, S. Bazarian, K. Böhning- Gaese, R. Bommarco, B. Dalsgaard, D.M. Dehling, A. Gotlieb, M. Hagen, T. Hickler, A. Holzschuh, C.N. Kaiser-Bunbury, H. Kreft, R.J. Morris, B. Sandel, W.J. Sutherland, J-C. Svenning, T. Tscharntke, S. Watts, C.N. Weiner, M. Werner, N.M. Williams, C. Winqvist, C.F. Dormann and N. Blüthgen
J62 2012 B. Sandel and E. Climate change and the Global Change Biology 18(1) (PR)(CO)(OA) Dangremond invasion of California by grasses J63 2012 P. Afshani, P. K. Agarwal, (Approximate) Uncertain Theory of Computing (PR)(CO)(OA) L. Arge, K. G. Larsen and Skylines Systems 52(3) J. M. Phillips
J64 2012 P. K. Agarwal, L. Arge, H. An Optimal Dynamic Data SIAM Journal on Computing (PR)(CO)(OA) Kaplan, E. Molad, R. E. Structure for Stabbing- 41(1) Tarjan and K Yi Semigroup Queries
J65 2012 L. Arge, G.S. Brodal and External memory planar Algorithmica 63(1-2) (PR)(CO)(OA) S. S. Rao point location with logarithmic updates J66 2012 G. S. Brodal, P. Davoodi On Space Efficient Two Algorithmica 63(4) (PR)(CO)(OA) and S. S. Rao Dimensional Range Minimum Data Structures J67 2012 G.S. Brodal, G. Moruz OnlineMin: A Fast Strongly Theory of Computing (PR)(OA) and A. Negoescu Competitive Randomized Systems 56(1) Paging Algorithm
J68 2012 H.L. Chan, T.W. Lam, Continuous monitoring of Algorithmica 62(3-4) (PR)(CO)(OA) L.K. Lee and H.F. Ting distributed data streams over a time-based sliding window J69 2012 G. Cormode, S. Continuos sampling from Journal of the ACM 59(2) (PR)(CO)(OA) Muthukrishnan, K. Yi and distributed streams Q. Zhang J70 2012 U. Meyer and N. Zeh I/O-efficient shortest path ACM Transactions on (PR)(CO)(OA) algorithms for undirected algorithms 8(3) graphs with random and bounded edge lengths
J71 2012 F. Gieseke, G. Moruz and Resilient K-d Trees: K-Means Frontiers of Computer (PR)(CO)(OA) J. Vahrenhold in Space Revisited. Science 6(2)
J72 2012 E.D. Demaine, M. The Price of Anarchy in ACM Transactions on (PR)(CO)(OA) Hajiaghayi, H. Mahini and Network Creation Games Algorithms 8(2) M. Zadimoghaddam
J73 2012 O. Aichholzer, F. On k-convex polygons Computational Geometry: (PR)(CO)(OA) Aurenhammer, E.D. Theory and Applications 45(3) Demaine, F. Hurtado, P. Ramos and J. Urrutia
J74 2012 T.G. Abbott, Z. Abel, D. Hinged Dissections Exist Discrete & Computational (PR)(CO)(OA) Charlton, E.D. Demaine, Geometry 47(1) M.L. Demaine and S.D. Kominers J75 2012 M. Greve, A.M. Lykke, Continental-scale variability Journal of Ecology 100 (PR)(CO)(OA) C.W. Fagg, J. Bogaert, I. in browser diversity is a Friis, R. Marchant, A.R. major driver of diversity Marshall, J. patterns in acacias across Ndayishimiye, B. Sandel, Africa C. Sandom, M. Schmidt, J.R. Timberlake, J.J. Wieringa, G. Zizka and J.- C. Svenning
J76 2012 R. Gupta, P. Indyk, E. Compressive Sensing with International Journal of (PR)(CO)(OA) Price and Y. Rachlin Local Geometric Features Computational Geometry and Applications 22(4) J77 2012 D. Charlton, E.D. Ghost Chimneys International Journal of (PR)(CO)(OA) Demaine, M.L. Demaine, Computational Geometry and V. Dujmovic, P. Morin Applications 22(3) and R. Uehara
J78 2012 E.D. Demaine, M.L. Any Monotone Boolean Algorithms 5(1) (PR)(CO)(OA) Demaine and R. Uehara Function Can Be Realized by Interlocked Polygons
J79 2012 E.D. Demaine and M. Constant Price of Anarchy in Internet Mathematics 8(1-2) (PR)(OA) Zadimoghaddam Network-Creation Games via Public-Service Advertising
J80 2012 L. Moll, S. Tazari and M. Computing hypergraph width Information Processing (PR)(CO)(OA) Thurley measures exactly Letters 112(6) J81 2012 S. Tazari Faster approximation Theoretical Computer Science (PR)(OA) schemes and parameterized 417 algorithms on (odd-) H- minor-free graphs
J82 2012 D. Wu, G. Cong and C. S. A Framework for Efficient VLDB Journal 21(6) (PR)(CO)(OA) Jensen Spatial Web Object Retrieval
J83 2012 D. Wu, M. L. Yiu, G. Cong Joint Top-K Spatial Keyword IEEE Transaction on (PR)(CO)(OA) and C. S. Jensen Query Processing Knowledge and Data Engineering 24(10) J84 2012 X. Cao, G. Cong, B. Cui, Approaches to Exploring ACM Transactions on (PR)(CO)(OA) C. S. Jensen and Q. Yuan Category Information for Information Systems 30(2) Question Retrieval in Community Question Answer Archives J85 2012 M. Yiu, L., I. Assent, C. Outsourced Similarity Search IEEE Transactions on (PR)(CO)(OA) S. Jensen and P. Kalnis on Metric Data Assets Knowledge and Data Engineering 24(2) J86 2012 X. Cao, G. Cong, C. S. SWORS: A System for the Proceedings of the VLDB (PR)(CO)(OA) Jensen, J. J. Ng, B. C. Efficient Retrieval of Endowment 5(12) Ooi, N.-T. Phan and and Relevant Spatial Web Objects D. Wu J87 2013 J.E. Moeslund, L. Arge, Topographically controlled Biodiversity and Conservation (PR)(CO)(OA) P.K. Bøcher, T. Dalgaard, soil moisture drives plant 22(10) R. Ejrnæs, M.V. Odgaard diversity patterns within and J.-C. Svenning grasslands
J88 2013 J.E. Moeslund, L. Arge, Topography as a driver of Nordic Journal of Botany (PR)(CO)(OA) P.K. Bøcher, T. Dalgaard local terrestrial vascular 31(2) and J.-C. Svenning plant diversity patterns
J89 2013 J.E. Moeslund, L. Arge, Topographically controlled Ecosphere 4(7) (PR)(CO)(OA) P.K. Bøcher, T. Dalgaard, soil moisture is the primary M.V. Odgaard, B. driver of local vegetation Nygaard and J.-C. patterns across a lowland Svenning region J90 2013 C. Alexander, J.E. Airborne laser scanner Remote Sensing of (PR)(CO)(OA) Moeslund, P.K. Bøcher, L. (LiDAR) proxies for Environment 134 Arge and J.-C. Svenning understory light conditions J91 2013 C. Sandom, L. Dalby, C. Mammal predator and prey Ecology 94(5) (PR)(CO)(OA) Fløjgaard, W.D. Kissling, species richness are strongly J. Lenoir, B. Sandel, K. linked at macroscales Trøjelsgaard, R. Ernæs and J.-C. Svenning
J92 2013 B. Dalsgaard, K. Historical climate-change Ecography 36(12) (PR)(CO)(OA) Trøjelsgaard, A.M. Martin influences modularity of González, D. Nogués- pollination networks Bravo, J. Ollerton, T. Petanidou, B. Sandel, M. Schleuning, Z. Wang, C. Rahbek, W.J. Sutherland, J.-C. Svenning and J.M. Olesen
J93 2013 J.-C. Svenning and B. Disequilibrium vegetation American Journal of Botany (PR)(OA) Sandel dynamics under future climate change
J94 2013 A.B. Smith, B. Sandel, Characterizing scale- Ecology 94(11) (PR)(CO)(OA) N.J.B. Kraft and S. Carey dependent community assembly using the functional-diversity-area relationship J95 2013 B. Sandel and J.-C. Human impacts drive a Nature Communications 4 (PR)(OA) Svenning global topographic signature in tree cover J96 2013 M. Olsen and M. Revsbæk Alliance Partitions and Journal of Graph Algorithms (PR)(OA) Bisection Width for Planar and Applications 17(6) Graphs J97 2013 P.K. Agarwal, L. Arge, S. Efficient external memory Computational Geometry: (PR)(CO)(OA) Govindarajan, J. Yang structures for range- Theory and Application 46(3) and K. Yi aggregate queries J98 2013 A. Sand, G.S. Brodal, R. A practical O(n log n) time BMC Bioinformatics 14 (PR)(CO)(OA) Fagerberg, C.N.S. algorithm for computing the Pedersen and T. Mailund triplet distance on binary trees J99 2013 G.S. Brodal, M. Greve, V. Integer Representations Journal of Discrete Algorithms (PR)(CO)(OA) Pandey and S.S. Rao towards Efficient Counting in the Bit Probe Model
J100 2013 A. Sand, M.K. Holt, J. Algorithms for Computing MDPI Biology - Special Issue (PR)(CO)(OA) Johansen, R. Fagerberg, the Triplet and Quartet on Developments in G.S. Brodal, C.N.S. Distances for Binary and Bioinformatic Algorithms 2(4) Pedersen and T. Mailund General Trees
J101 2013 K. Yi and Q. Zhang Optimal Tracking of Algorithmica 65(1) (PR)(CO)(OA) Distributed Heavy Hitters and Quantiles J102 2013 P.K. Agarwal, G. Mergeable Summaries ACM Transactions on (PR)(CO)(OA) Cormode, Z. Huang, J.M. Database Systems 38(4) Phillips, Z. Wei and K. Yi.
J103 2013 R. Pagh, Z. Wei, K. Yi Cache-Oblivious Hashing Algorithmica (PR)(CO)(OA) and Q. Zhang J104 2013 U. Meyer and V. Weichert Algorithm Engineering für Informatik-Spektrum (PR)(OA) moderne Hardware J105 2013 X. Li, V. Ceikute, C.S. Effective Online Group IEEE Transactions on (PR)(CO)(OA) Jensen and K.-L. Tan Discovery in Trajectory Knowledge and Data Databases Engineering 25(12) J106 2013 M. Kaul, R.C.-W. Wong, Finding Shortest Paths on Proceedings of the VLDB (PR)(CO)(OA) B. Yang and C.S. Jensen Terrains by Killing Two Birds Endowment 7(1) with One Stone J107 2013 K. S. Bøgh, A. GroupFinder: A New Proceedings of the VLDB (PR)(CO)(OA) Skovsgaard and C.S. Approach to Top-K Point-of- Endowment 6(12) Jensen Interest Group Retrieval J108 2013 B. Yang, C. Guo and C.S. Travel Cost Inference from Proceedings of the VLDB (PR)(CO)(OA) Jensen Sparse, Spatio-Temporally Endowment 6(9) Correlated Time Series Using Markov Models
J109 2013 D. Wu, M.L. Yiu and C.S. Moving Spatial Keyword ACM Transactions on (PR)(CO)(OA) Jensen Queries: Formulation, Database Systems 38(1) Methods, and Analysis J110 2013 L. Chen, G. Cong, C.S. Spatial Keyword Query Proceedings of the VLDB (PR)(CO)(OA) Jensen and D. Wu Processing: An Experimental Endowment 6(3) Evaluation J111 2013 K. Tzoumas, A. Efficiently Adapting Graphical The VLDB Journal 22(1) (PR)(CO)(OA) Deshpande and C.S. Models for Cardinality Jensen Estimation J112 2013 B. Ballinger, N. Coverage with k- Journal of Combinatorial (PR)(CO)(OA) Benbernou, P. Bose, M. Transmitters in the Presence Optimization 25(2) Damian, E.D. Demaine, of Obstacles V. Dujmovic, R. Flatland, F. Hurtado, J. Iacono, A. Lubiw, P. Morin, V. Sacristan, D. Souvaine and R. Uehara
J113 2013 S. Butler, E.D. Demaine, Constructing Points through International Journal of (PR)(CO)(OA) R. Graham and T. Tachi Folding and Intersection Computational Geometry and Applications 23(1) J114 2013 G. Barequet, N. Bounded-Degree Computational Geometry: (PR)(CO)(OA) Benbernou, D. Charlton, Polyhedronization of Point Theory and Applications 46(2) E.D. Demaine, M.L. Sets Demaine, M. Ishaque, A. Lubiw, A. Schulz, D.L. Souvaine, G.T. Toussaint and A. Winslow
J115 2013 J. Cardinal, E.D. The Stackelberg Minimum Journal of Combinatorial (PR)(CO)(OA) Demaine, S. Fiorini, G. Spanning Tree Game on Optimization 25(1) Joret, I. Newman and O. Planar and Bounded- Weimann Treewidth Graphs
J116 2013 G. Aloupis, J. Cardinal, S. Non-crossing matchings of Computational Geometry: (PR)(CO)(OA) Collette, E.D. Demaine, points with geometric objects Theory and Applications 46(1) M.L. Demaine, M. Dulieu, R. Fabila-Monroy, V. Hart, F. Hurtado, S. Langerman, M. Saumell, C. Seara and P. Taslakian
J117 2013 N. Alon, E.D. Demaine, Basic Network Creation SIAM Journal on Discrete (PR)(CO)(OA) M. Hajiaghayi and T. Games Mathematics 27(2) Leighton
J118 2013 E.D. Demaine, S. One-Dimensional Staged Natural Computing 12(2) (PR)(CO)(OA) Eisenstat, M. Ishaque Self-Assembly and A. Winslow J119 2013 E.D. Demaine, M.L. Refold Rigidity of Convex Computational Geometry: (PR)(CO)(OA) Demaine, J. Itoh, A. Polyhedra Theory and Applications 46(8) Lubiw, C. Nara and J. O'Rourke J120 2013 G. Aloupis, N. Efficient Reconfiguration of Computational Geometry: (PR)(CO)(OA) Benbernou, M. Damian, Lattice-Based Modular Robots Theory and Applications 46(8) E.D. Demaine, R. Flatland, J. Iacono and S. Wuhrer
J121 2013 Z. Abel, E.D. Demaine, Finding a Hamiltonian Path in Journal of Information (PR)(CO)(OA) M.L. Demaine, S. a Cube with Specified Turns Processing 21(3) Eisenstat, J. Lynch and is Hard T.B. Schardl J122 2013 E.D. Demaine, M. Scheduling to Minimize Gaps Journal of Scheduling 16(2) (PR)(CO)(OA) Ghodsi, M. Hajiaghayi, and Power Consumption A.S. Sayedi-Roshkhar and M. Zadimoghaddam
J123 2013 Z. Abel, E.D. Demaine, Folding Equilateral Plane International Journal of (PR)(CO)(OA) M.L. Demaine, S. Graphs Computational Geometry and Eisenstat, J. Lynch, T.B. Applications 23(2) Schardl and I. Shapiro- Ellowitz
J124 2013 M. Bateni, M. Hajiaghayi Submodular secretary ACM Transactions on (PR)(CO)(OA) and M. Zadimoghaddam problem and extensions Algorithms 9(4)
J125 2013 A. Elmasry, A. Farzan On the hierarchy of Acta Informatica 50(4) (PR)(CO)(OA) and J. Iacono distribution-sensitive properties for data structures
J126 2013 P. Afshani Improved pointer machine International Journal of (PR)(OA) and I/O lower bounds for Computational Geometry and simplex range reporting and Applications 23 (4-5) related problems
J127 2014 C. Alexander, P.K. Regional-scale mapping of Remote Sensing of (PR)(CO)(OA) Bøcher, L. Arge and J.-C. tree cover, height and main Environment 147 Svenning phenological tree types using airborne laser scanning data
J128 2014 M. Schleuning, L. Ecological, historical and Ecology Letters 17(4) (PR)(CO)(OA) Ingmann, R. Strauß, S. evolutionary determinants of Fritz, B. Dalsgaard, D.M. modularity in weighted seed- Dehling, M. Plein, F.V. dispersal networks Saavedra, B. Sandel, J.- C. Svenning, K. Böhning- Gaese and C.F. Cormann
J129 2014 G. Feng, X.C. Mi, P.K. Relative roles of local Biogeosciences 11 (PR)(CO)(OA) Bøcher, L.F. Mao, B. disturbance, current climate Sandel, M. Cao, W.H. Ye, and palaeoclimate in Z.Q. Hao, H.D. Gong, determining phylogenetic Y.T. Zhang, X.H. Zhao, and functional diversity in G.Z. Jin, K.P. Ma and J.- Chinese forests C. Svenning
J130 2014 R. Ø. Pedersen, B. Macroecological evidence for PLoS ONE 9(6) (PR)(CO)(OA) Sandel and J.-C. competitive regional-scale Svenning interactions between the two major clades of mammal carnivores (Feliformia and Caniformia)
J131 2014 Dalsgaard, B., D.W. Does geography, current Ecology and Evolution 4(20) (PR)(CO)(OA) Carstensen, J. Fjeldså, climate or historical climate P.K. Maruyama, C. determine bird species Rahbek, B. Sandel, J. richness, endemism and Sonne, J.-C. Svenning, island network roles in Z. Wang and W.J. Wallacea and the West Sutherland Indies?
J132 2014 J.Y. Barnagaud, W.D. Ecological traits influence the Ecology Letters 17(7) (PR)(CO)(OA) Kissling, B. Sandel, W. phylogenetic structure of Eiserhardt, H. Balslev, bird species co-occurrences C.H. Sekercioglu, B. worldwide Enquist, C. Tsirogiannis and J.-C. Svenning J133 2014 T. Amano, B. Sandel, H. Global distribution and Proceedings of the Royal (PR)(CO)(OA) Eager, E. Bulteau, J.-C. drivers of language Academy of Science B: Svenning, B. Dalsgaard, extinction risk Biological Sciences 281(1793) C. Rahbek, R.G. Davies and W.J. Sutherland
J134 2014 C. Lamanna, B. Blonder, The latitudinal species Proceedings of the National (PR)(CO)(OA) C. Violle, N.J.B. Kraft, B. richness gradient does not Academy of Sciences 111(38) Sandel, I. Simova, J. arise from a larger functional Donoghue, J.-C. trait space in the tropics Svenning, B. McGill, B. Boyle, S. Dolins, P.M. Jørgensen, A. Marcuse- Kubitza, N. Morueta- Holme, R.K. Peet, W.H. Piel, J. Regetz, M. Schildhauer, N. Spencer, B. Theirs, S.K. Wiser and B.J. Enquist
J135 2014 C. Tsirogiannis and B. Computing the Skewness of Algorithms for Molecular (PR)(OA) Sandel the Phylogenetic Mean Biology 9(15) Pairwise Distance in Linear Time
J136 2014 D. Sidlauskas, S. Saltenis Processing of Extreme The VLDB Journal 23(5) (PR)(CO)(OA) and C.S. Jensen Moving-Object Update and Query Workloads in Main Memory J137 2014 T.M. Chan, S. Durocher, Linear-Space Data Theory of Computing (PR)(CO)(OA) K.G. Larsen, J. Morrison Structures for Range Mode Systems 55(4) and B.T. Wilkinson Query in Arrays
J138 2014 K.G. Larsen On Range Searching in the SIAM Journal on Computing (PR)(OA) Group Model and 43(2) Combinatorial Discrepancy
J139 2014 G. Cormode and H. A second look at counting Theoretical Computer Science (PR)(CO)(OA) Jowhari triangles in graph streams 552
J140 2014 G. S. Brodal, A. C. Dynamic 3-sided planar Theoretical Computer Science (PR)(CO)(OA) Kaporis, A. N. range queries with expected 526 Papadopoulos, S. doubly-logarithmic time Sioutas, K. Tsakalidis and K. Tsichlas J141 2014 A. Sand, M.K. Holt, J. tqDist: A Library for Bioinformatics 30(14) (PR)(CO)(OA) Johansen, G.S. Brodal, T. Computing the Quartet and Mailund and C.N.S. Triplet Distances Between Pedersen Binary or General Trees
J142 2014 K. Yi, L. Wang and Z. Wei Indexing for Summary ACM Transactions on (PR)(CO)(OA) Queries: Theory and Practice Database Systems
J143 2014 M. Abam, S. Computing Homotopic Line Computational Geometry: (PR)(CO) Daneshpajouh, L. Simplification in a Plane Theory and Applications 47(7) Deleuran, S. Ehsani and M. Ghodsi J144 2014 S. Shang, R. Ding, K. Personalized Trajectory The VLDB Journal 23(3) (PR)(CO) Zheng, C.S. Jensen, P. Matching in Spatial Networks Kalnis and X. Zhou J145 2014 B. Yang, B., M. Kaul and Using Incomplete IEEE Transactions on (PR)(CO)(OA) C.S. Jensen Information for Complete Knowledge and Data Weight Annotation of Road Engineering 26(5) Networks
J146 2014 G. Moruz, A. Negoescu, Engineering Efficient Paging Journal of Experimental (PR)(CO)(OA) C.Neumann and V. Algorithms Algorithmics 19 Weichert J147 2014 E. D. Demaine, M. Minimizing Movement: Fixed- ACM Transactions on (PR)(CO)(OA) Hajiaghayi and D. Marx Parameter Tractability Algorithms 11(2)
J148 2014 E. D. Demaine, M. L. UNO is hard, even for a Theoretical Computer Science (PR)(CO)(OA) Demaine, R. Uehara, T. single player 521 Uno and Y. Uno J149 2014 M. Damian, E. D. Unfolding Orthogonal Graphs and Combinatorics (PR)(CO)(OA) Demaine and R. Flatland Polyhedra with Quadratic 30(1) Refinement: The Delta- Unfolding Algorithm J150 2014 G. Borradaile, E. D. Polynomial-Time Algorithmica 68(2) (PR)(CO)(OA) Demaine and S.Tazari Approximation Schemes for Subset-Connectivity Problems in Bounded-Genus Graphs J151 2014 G. S. Brodal, M. Greve, Integer representations Journal of Discrete (PR)(CO)(OA) V. Pandey and S. S. Satti towards efficient counting in Algorithms 26 the bit probe model
J152 2014 Sandom, C., S. Faurby, Global Late Quaternary Proceedings of the Royal (PR)(CO)(OA) B. Sandel, J.-C. Svenning megafauna extinctions linked Society B: Biological Sciences to humans, not climate 281(1787) change. J153 2014 Kissling, D., L. Dalby, C. Establishing macroecological Ecology and Evolution 4(14) (PR)(CO)(OA) Fløjgaard, J. Lenoir, B. trait datasets: digitalization, Sandel, C. Sandom, K. extrapolation and validation Trøjelsgaard, J.-C. of diet preferences in Svenning. terrestrial mammals worldwide
J154 2014 H.-K. Ahn, H.-S. Kim, S.- Computing k Centers over International Journal of (PR)(CO)(OA) S. Kim and W. Son Streaming Data for Small k Computational Geometry and Applications 24(2) J155 2014 T. Jurkiewicz and K. On a Model of Virtual Journal of Experimental (PR)(CO)(OA) Mehlhorn Address Translation Algorithmics 19 J156 2014 A. C. Gilbert, P. Recent Developments in the Signal Processing Magazine (PR)(CO)(OA) Indyk, M. Iwen and L. Sparse Fourier Transform: A 31(5) Schmidt compressed Fourier transform for big data
J157 2014 S. Felton, M. Tolley, E. A method for building self- Science 345(6197) (PR)(CO)(OA) Demaine, D. Rus and R. folding machines Wood J158 2014 E. D. Demaine, M. L. Picture-Hanging Puzzles Theory of Computing (PR)(CO)(OA) Demaine, Y. N. Minsky, J. Systems 54(4) S. B. Mitchell, R. L. Rivest and M. Patrascu
J159 2014 O. Aichholzer, G. Aloupis, Covering Folded Shapes Journal of Computational (PR)(CO)(OA) E. D. Demaine, M. L. Geometry 5(1) Demaine, S. P. Fekete, M. Hoffmann, A. Lubiw, J. Snoeyink and A. Winslow
J160 2014 E. D. Demaine, Y. Computational complexity IEICE Transactions on (PR)(CO)(OA) Okamoto, R. Uehara and and an integer programming Fundamentals of Electronics, Y. Uno model of Shakashaka Communications and Computer Sciences 97-A(6)
J161 2014 Z. Abel, E. D. Demaine, Computational Complexity of IEICE Transactions on (PR)(CO)(OA) M. L. Demaine, T. Piano-Hinged Dissections Fundamentals of Electronics, Horiyama and R. Uehara Communications and Computer Sciences 97-A(6)
J162 2014 T. Ito and E. D. Demaine Approximability of the Journal of Combinatorial (PR)(CO)(OA) Subset Sum Reconfiguration Optimization 28(3) Problem J163 2015 W. Son, H.-K. Ahn and Group Nearest-Neighbor Theoretical Computer Scienc (PR)(CO)(OA) S. W. Bae Queries in the L_1 Plane 592 J164 2015 G. S. Brodal, S. Sioutas, D^2-Tree: A New Overlay Algorithmica 72(3) (PR)(CO)(OA) K. Tsichlas and C. with Deterministic Bounds Zaroliagis J165 2015 S. Pettie and H.-H. Su Distributed Coloring Information and Computation (PR)(OA) Algorithms for Triangle-Free 243 Graphs J166 2015 S. Pettie Sensitivity Analysis of Journal of Graph Algorithms (PR)(OA) Minimum Spanning Trees in and Applications 19(1) Sub-Inverse-Ackermann Time
J167 2015 S. Pettie Three Generalizations of SIAM Journal on Discrete (PR)(OA) Davenport-Schinzel Mathematics 29(4) Sequences J168 2015 E. Sebastián-González, Macroecological trends in Global Ecology and (PR)(CO)(OA) B. Sandel, B. Dalsgaard nestedness and modularity Biogeography 24(3) and P. Guimarães of seed-dispersal networks.
J169 2015 K. Engemann, B. Enquist, Limited sampling hampers Ecology and Evolution, 5(3) (PR)(CO)(OA) B. Sandel, B. Boyle, P. ’big data’ estimation of Jørgensen, N. Morueta- species richness in a tropical Holme, R. Peet, C. Violle biodiversity hotspot. and J.-C. Svenning
J170 2015 B. Sandel Towards a taxonomy of Ecography 38(4) (PR) spatial scale-dependence J171 2015 T. M. Chan, S. Durocher, Linear-Space Data Algorithmica 72(4) (PR)(CO)(OA) M. Skala and B. T. Structures for Range Wilkinson Minority Query in Arrays J172 2015 K. G. Larsen, J. I. Munro, On Hardness of Several Theoretical Computer Science (PR)(CO)(OA) J. S. Nielsen and S. String Indexing Problems 582 Thankachan J173 2015 A. Kovacs, U. Meyer, G. The optimal structure of Information Processing (PR)(OA) Moruz and A. Negoescu algorithms for alpha-paging. Letters, 115(12)
J174 2015 A. Termehchy, A. Cost-Effective Database ACM Transactions on (PR)(CO)(OA) Vakilian, Y. Design For Information Database Systems 40(2) Chodpathumwan and M. Extraction Winslett J175 2015 E. D. Demaine, J. Iacono Worst-Case Optimal Tree Algorithmica 72(2) (PR)(CO)(OA) and S. Langerman Layout in External Memory
J176 2015 B. Blonder, D. Nogués- Linking environmental Ecology 96(4) (PR)(CO) Bravo, M.K. Borregaard, filtering and disequilibrium to J. Donoghue II, P.M. biogeography with a Jørgensen, N.J.B. Kraft, community climate J.-P. Lessard, N. Morueta- framework Holme, B. Sandel, J.-C. Svenning, C. Violle, C. Rahbek and B.J. Enquist
J177 2015 B. Sandel, A.G. Estimating the missing Journal of Vegetation Science (PR)(CO) Gutiérrez, P.B. Reich, F. species bias in plant trait 26(5) Schrodt, J. Dickie and J. measurements Kattge J178 2015 Sandel, B., A.G. Late Cenozoic climate Global Ecology and (PR)(CO) Gutiérrez, P.B. Reich, F. change and the phylogenetic Biogeography 24(10) Schrodt, J. Dickie and J. structure of regional conifer Kattge floras worldwide
J179 2015 J-C. Svenning, W. The influence of paleoclimate Annual Reviews in Ecology, (PR)(CO)(OA) Eiserhardt, S. Normand, on present-day patterns in Evolution and Systematics 46 A. Ordonez and B. Sandel biodiversity and ecosystems.
J180 2015 M. Pasgaard, N. Strange, Geographical imbalances and Global Environmental Change (PR)(CO)(OA) B. Dalsgaard, P.K.M. divides in the scientific 35 Mendonça and B. Sandel production of climate change knowledge
J181 2015 L. Arge and M. Thorup RAM-efficient External Algoritmica 73(4) (PR)(CO)(OA) Memory Sorting J182 2015 G. S. Brodal, G. Moruz OnlineMin: A Fast Strongly Theory of Computing (PR)(OA) and A. Negoescu Competitive Randomized Systems 56(1) Paging Algorithm,
J183 2015 J. Brody and K. G. Larsen Adapt or Die: Polynomial Theory of Computing 11(19) (PR)(CO)(OA) Lower Bounds for Non- Adaptive Dynamic Data Structures J184 2015 P. Wollstadt, U. Meyer, A Graph Algorithmic PLoS ONE, 10(10) (PR)(CO)(OA) and M. Wibral Approach to Separate Direct from Indirect Neural Interactions
J185 2015 C. Hegde, P. Indyk and Approximation Algorithms for IEEE Transactions of (PR)(CO)(OA) L. Schmidt Model-Based Compressive Information Theory 61(9) Sensing
J186 2015 E. D. Demaine, F. Ma, M. You Should Be Scared of Journal of Information (PR)(CO)(OA) Susskind and E. German Ghost Processing 23(3) Waingarten J187 2015 G. Aloupis, E. D. Classic Nintendo Games are Theoretical Computer Science (PR)(CO)(OA) Demaine, A. Guo and G. (Computationally) Hard 586 Viglietta J188 2015 K. Yamanaka, E. D. Swapping Labeled Tokens on Theoretical Computer Science (PR)(CO)(OA) Demaine, T. Ito, J. Graphs 586 Kawahara, M. Kiyomi, Y. Okamoto, T. Saitoh, A. Suzuki, K. Uchizawa and T. Uno J189 2015 A. B. Adcock, E. D. Zig-Zag Numberlink is NP- Journal of Information (PR)(CO)(OA) Demaine, M. L. Demaine, Complete Processing 23(3) M. P. O'Brien, F. Reidl, F. S. Villaamil and B. D. Sullivan
J190 2015 E. D. Demaine and M. L. Fun with Fonts: Algorithmic Theoretical Computer Science (PR)(OA) Demaine Typography 586 J191 2015 E. D. Demaine, M. L. Linear-time algorithm for Theoretical Computer Science (PR)(CO)(OA) Demaine, E. Fox-Epstein, sliding tokens on trees 600 D. A. Hoang, T. Ito, H. Ono, Y. Otachi, R. Uehara and T. Yamada
J192 2016 E.D. Demaine, M.J. The Two-Handed Tile Algorithmica 74(2) (PR)(CO) Patitz, T.A. Rogers, R.T. Assembly Model is not Schweller, S.M. Summers Intrinsically Universal and D. Woods
J193 2016 E.D. Demaine, D. Folding a paper strip to Journal of Discrete (PR)(CO) Eppstein, A. Hesterberg, minimize thickness Algorithms 36 H. Ito, A. Lubiw, R. Uehara and Y. Uno
J194 2016 J-C. Svenning, P.B.M. Science for a wilder Proceedings of the National (PR) (CO)(OA) Pedersen, C.J. Donlan, R. Anthropocene - synthesis Academy of Sciences, 113 Ejrnaes, S. Faurby, M. and future directions for Galetti, D.M. Hansen, B. rewilding research Sandel, C.J. Sandom, J.W. Terborgh and F.W.M. Vera
J195 2016 J-C. Svenning, P.B.M. Reply to Rubenstein and Proceedings of the National (PR) (CO)(OA) Pedersen, C.J. Donlan, R. Rubenstein: Time to move Academy of Sciences, USA Ejrnaes, S. Faurby, M. on from ideological debates 113 Galetti, D.M. Hansen, B. on rewilding Sandel, C.J. Sandom, J.W. Terborgh and F.W.M. Vera J196 2016 J. Sonne, A.M. Martin High proportion of smaller Proceedings of the Royal (PR) (CO)(OA) González, P.K. ranged hummingbird species Society B,. 283 Maruyama, B. Sandel, S. coincides with ecological Abrahamczyk, R. specialization across the Alarcon, A.C. Araujo, F.P. Americas Araujo, S.M. de Azevedo Jr., A.C. Baquero, D. Nogues-Bravo, P.A. Cotton., T.T. Ingversen, G. Kohler, C. Lara, F.M.G. Las-Casas, A.O. Machado, C.G. Machado, M.A. Maglianesi, A.C. Moura, G.M. Olivera, P.E.Oliveira, J.F. Ornelas, L. da Cruz Rodrigues, L. Rosero-Lasprilla, A.M. Rui, M. Sazima, M. Schleuning, A. Timmermann, I.G. Varassin, J. Vinzentin- Bugoni, Z. Wang, S. Watts, J. Fjeldså, J.-C. Svenning, C. Rahbek and B. Dalsgaard
J197 2016 G. Feng, L. Mao, B. High plant endemism in Journal of Biogeography 43 (PR) (CO)(OA) Sandel, N.G. Swenson China is partially linked to and J.-C. Svenning reduced glacial-interglacial climate change
J198 2016 C. Doughty, A. Wolf, N. Megafauna extinction, tree Ecography 39 (PR) (CO)(OA) Morueta-Holme, P.M. species range reduction, and Jørgensen, B. Sandel, C. carbon storage in Amazonian Violle, B. Boyle, N.J.B. forests Kraft, R.K. Peet, B.J. Enquist, J.-C. Svenning, S. Blake and M. Galetti
J199 2016 D. N. Karger, A. Cord, M. Delineating probabilistic Global Ecology and (PR) (CO)(OA) Kessler, H. Kreft, I. species pools in ecology and Biogeography 25 Kühn, S. Pompe, B. biogeography Sandel, J. Sarmento- Cabral, A. Smith, J.-C. Svenning, H. Tuomisto, P. Weigelt and K. Wesche
J200 2016 K. Engemann, B. Sandel, Patterns and drivers of plant Botanical Journal of the (PR) (CO)(OA) B.J. Enquist, P.M. functional group dominance Linnean Society 180 Jørgensen, N.J.B. Kraft, across the Western A. Marcuse-Kubitza, B. Hemisphere - a McGill, N. Morueta- macroecological re- Holme, R.K. Peet, C. assessment based on a Violle, S. Wiser and J.-C. massive novel botanical Svenning dataset
J201 2016 Y. Li, X. Li, B. Sandel, D. Climate and topography Nature Climate Change 6 (PR) (CO)(OA) Blank, Z. Liu, X. Liu and explain range sizes of S. Yan. terrestrial vertebrates J202 2016 K. Milton, D.A. Nolin, K. Genetic, spatial, and social Primates 57 (PR) (CO)(OA) Ellis, J. Lozier, B. Sandel relationships among adults in and E. Lacey a group of Howler Monkeys (Alouatta palliata) from Barro Colorado Island, Panama J203 2016 Z. Ma, B. Sandel and J.- Phylogenetic assemblage Ecology and Evolution 6 (PR) (CO)(OA) C. Svenning structure of North American trees is more strongly shaped by glacial-interglacial climate variability in gymnosperms than in angiosperms
J204 2016 D. Arroyuelo, P. Davoodi Succinct Dynamic Cardinal Algorithmica 74(2) (PR) (CO)(OA) and S.S. Rao Trees - To C. Tsirogiannis and B. PhyloMeasures: A package Ecography (PR)(CO) Appear Sandel for computing phylogenetic biodiversity measures and their statistical moments
- To N. Morueta-Holme, B. A network approach for Ecography (PR)(CO) Appear Blonder, B. Sandel, B. inferring species associations McGill, R.K. Peet, J. Ott, from co-occurrence data C. Violle, B. Enquist, P.M. Jørgensen and J.-C. Svenning
- To T. K. Nielsen, B.M. Investigating Neanderthal Quaternary International (PR)(CO) Appear Benito, J.-C. Svenning, dispersal above 55N in B. Sandel, L. Europe during Marine McKerracher, F. Reide Isotope Stage 5 and P.C. Kjaergaard
- To G.R. Goldsmith, N. Plant-O-Matic: A dynamic Methods in Ecology and (PR)(CO) Appear Morueta-Holme, B. and mobile field guide to all Evolution Sandel, E.D. Fitz, S.D. plants of the Americas Fitz, B. Boyle, N. Casler, R. Condit, S. Dolins, J. Donoghue, K. Engemann, P.M. Jørgensen, N.J.B. Kraft, A. Marcuse- Kubitza, B. McGill, R.K. Peet, W. Piel, J. Regetz, M. Schildhauer, N. Spencer, J.-C. Svenning, B. Thiers, C. Violle, S. Wiser and B. Enquist
- To B. Sandel, A.-C. Monnet Multidimensional structure of Journal of Vegetation Science (PR)(CO) Appear and M. Vorontsova grass functional traits among species and assemblages
- To J.S. Ku and E.D. Demaine Folding Flat Crease Patterns Journal of Mechanisms and (PR) Appear With Thick Materials Robotics
- To T.M. Chan and B.T. Adaptive and Approximate ACM Transactions on (PR)(CO) Appear Wilkinson Orthogonal Range Counting Algorithms
- To B. Sandel and C. Species Introductions and Ecology (PR) Appear Tsirogiannis the Phylogenetic and Functional Structure of California's Grasses - To B. Sandel and C. Fast Computation of PLoS ONE (PR) Appear Tsirogiannis Measures of Phylogenetic Beta Diversity
- To A. Kalvisa, C. MIRU-VNTR genotype Journal of Infection, Genetics (PR) (CO) Appear Tsirogiannis, I. diversity and indications of and Evolution Silamikelis, G. Skenders, homoplasy in M. avium L. Broka, A. Zirnitis, D. strains isolated from humans Bandere, I. Jansone and and slaughter pigs in Latvia R. Ranka
- To L. Barenboim, M. Elkin, The Locality of Distributed Journal of the ACM (PR)(CO) Appear S. Pettie and J. Schneider Symmetry Breaking Thesis T1 2007 I. Brudaru Heuristics for Average MPI MS Thesis Diameter Approximation with External Memory Algorithms
T2 2007 G. Moruz Hardware-Aware Algorithms AU PhD Thesis and Data Structures
T3 2008 M. Patrascu Lower Bound Techniques for MIT PhD Thesis Data Structures T4 2008 A. Sidiropoulos Computational metric MIT PhD Thesis embeddings T5 2008 D. Ajwani Traversing large graphs in MPI PhD Thesis realistic settings T6 2008 K. Do Ba Testing closeness of MIT MS Thesis distributions under the EMD metric T7 2008 K. Lai Complexity of Union-Split- MIT MS Thesis Find Problems T8 2008 J. M. Larsen og M. Nielsen En undersøgelse af AU MS Thesis algoritmer til løsning af generalized movers problem i 3D T9 2008 C. Andersen An optimal minimum AU MS Thesis spanning tree algorithm T10 2008 M. Revsbæk I/O-efficient Algorithms for AU MS Thesis Batched Union-Find with Dynamic Set Properties and its Applications to Hydrological Conditioning
T11 2008 A. H. Jensen I/O-efficient Processing of AU MS Thesis LIDAR Data T12 2009 M. Olsen Link Building AU PhD Thesis T13 2009 T. Mølhave Handling Massive Terrains AU PhD Thesis and Unreliable Memory, AU
T14 2009 H. B. Kirk Searching with Dynamic AU MS Thesis Optimality: In Theory and Practice T15 2009 K. Piatkowski Implementering og udvikling AU MS Thesis af maksimum delsum algoritmer T16 2009 O. Weimann Accelerating Dynamic MIT PhD Thesis Programming T17 2009 V. Weichert Radiation parameterization FRA MS Thesis of the climate model COSMO/CLM in CUDA
T18 2009 R. Berinde Advances in Sparse Signal MIT MS Thesis Recovery Methods T19 2009 P. Davoodi Two Dimensional Range AU MS Thesis Minimum Queries T20 2009 K. Tsakalidis External Memory 3-sided AU MS Thesis Planar Range Reporting and Persistent B-Trees T21 2009 L. Deleuran Polygonal Line Simplification AU MS Thesis
T22 2010 A. G. Jørgensen Data Structures: Sequence AU PhD Thesis Problems, Range Queries, and Fault Tolerance
T23 2010 J. Moeslund Fine-resolution geospatial AU MS Thesis modelling of contemporary and potential future plant diversity in Denmark
T24 2010 J. Truelsen Working Set Implicit AU MS Thesis Dictionaries and Range Mode Lower Bounds and Approximations T25 2010 M. Greve Online Sorted Range AU MS Thesis Reporting and Approximating the Mode T26 2010 D. Kjær Range Media Algorithms AU MS Thesis T27 2010 J. Suhr Christensen Experimental Study of AU MS Thesis Kinetic Geometric t-Spanner Algorithms T28 2011 K. G. Larsen Optimal Orthogonal Range AU MS Thesis Reporting in 3-d T29 2011 C. Kejlberg-Rasmussen On Implicit Dictionaries with AU MS Thesis the Working-Set Property and Catenable Priority Queues with Attrition
T30 2011 P. Davoodi Data Structures: Range AU PhD Thesis Queries and Space Efficiency
T31 2011 K. Tsakalidis Dynamic Data Structures: AU PhD Thesis Orthogonal Range Queries and Update Efficiency
T32 2011 J. Nelson Sketching and Streaming MIT PhD Thesis High-Dimensional Vectors T33 2012 J. E. Moeslund The role of topography in AU PhD Thesis determining local plant diversity patterns across Denmark T34 2012 F. van Walderveen External Memory Graph AU PhD Thesis Algorithms and Range Searching Data Structures
T35 2012 L. Deleuran Homotopic Polygonal Line AU PhD Thesis Simplification T36 2012 C. Neumann Practical Paging Algorithms FRA MS Thesis
T37 2012 D. Veith Implementation of an FRA MS Thesis External-Memory Diameter Approximation T38 2012 M. Sturmann k-Dimensionale Orthogonale FRA MS Thesis Bereichsanfragen für GPUs auf großen Instanzen
T39 2012 P. Wollstadt A Graph Algorithmic FRA BS Thesis Approach to Separate Direct from Indirect Neural Interactions by Identifying Alternative Paths with Similar Weights
T40 2012 E. Deza An efficient implementation FRA BS Thesis of the optimal paging algorithm T41 2012 T. Morgan Map Folding MIT MS Thesis T42 2012 R. Gupta A Compressive Sensing MIT MS Thesis Algorithm for Attitude Determination T43 2012 A. Koefoed-Hansen Representations for Path AU MS Thesis Finding in Planar Environments T44 2013 K.G. Larsen Models and Techniques for AU PhD Thesis Proving Data Structure (OA) Lower Bounds T45 2013 C. Kejlberg-Rasmussen Dynamic Data Structures: AU PhD Thesis The Interplay of Invariants (OA) and Algorithm
T46 2013 J. Fogh Engineering a Fast Fourier AU MS Thesis Transform (OA) T47 2013 M. Holt and J. Johansen Computing Triplet and AU MS Thesis Quartet Distances (OA) T48 2013 J. Schou Range Minimum Data AU MS Thesis Structures T49 2013 A. Negoescu Design of Competitive Paging FRA PhD Thesis Algorithms with Good (OA) Behaviour in Practice
T50 2013 D. Pick Effiziente Algorithmen auf FRA MS Thesis Eingebetteten Plattformen
T51 2013 T. Timmer I/O-effiziente Durchmesser- FRA MS Thesis Approximierung auf gewichteten Graphen
T52 2013 D. Frascaria Improved results for (h,k)- FRA MS Thesis paging T53 2013 S. Försch An efficient implementation FRA MS Thesis of PARTITION2
T54 2013 A. Kehlenbach Interaktive FRA MS Thesis Stadtplanungsmaßnahmen auf der GPU T55 2013 S. Bechtold Shortest Paths with Multiple FRA MS Thesis Constraints in Flight Networks
T56 2013 V. Ceikute Inferring Groups of Objects, AU PhD Thesis Preferred Routes, and (OA) Facility Locations from Trajectories
T57 2013 E. Price Sparse Recovery and Fourier MIT PhD Thesis Sampling T58 2013 L. Schmidt Model-Based Compressive MIT MS Thesis Sensing with Earth Mover's Distance Constraints
T59 2013 S. Mahabadi Approximate Nearest MIT MS Thesis Neighbor And Its Many Variants T60 2013 F. Mogensen Locating Points of Interest AU MS Thesis Based on Geo- tagged Tweets
T61 2013 C.W. Schmidt Indicering af spatio- AU MS Thesis tekstuelle data – et empirisk studie T62 2014 J.M. Friis and S.B. Olesen An Experimental Comparison AU MS Thesis of Max Flow Algorithms (OA)
T63 2014 D. W. Petersen Orthogonal Range Skyline AU MS Thesis Counting Queries (OA) T64 2014 J. Kunert Hashing and Random Graphs AU MS Thesis (OA) T65 2014 B. Mortensen Algorithms for Computing AU MS Thesis Convex Hulls Using Linear (OA) Programming
T66 2014 M. Revsbæk Handling Massive and AU MS Thesis Dynamic Terrain Data (OA) T67 2014 A. Skovsgaard Indexing, Query Processing, AU PhD Thesis and Clustering of Spatio-Temporal Text Objects
T68 2014 Samir van de Sand Eine adaptive Tabusuche für FRA MS Thesis das Vehicle Routing Problem mit Zeitfenstern T69 2014 Morteza Zadimoghaddam Online Allocation Algorithms MIT PhD Thesis with Applications in Computational Advertising
T70 2015 J. Truelsen Space Efficient Data AU PhD Thesis Structures and External Terrain Algorithms T71 2015 J. Yang Efficient Algorithms for AU PhD Thesis Handling Massive Terrains
T72 2015 J. S. Nielsen Implicit Data Structures, AU PhD Thesis Sorting, and Text Indexing
T73 2015 C. Jespersen Monte Carlo Evaluation of AU MS Thesis Financial Options Using a GPU (OA)
T74 2015 B. Mortensen Algorithms for Computing AU MS Thesis Convex Hulls Using Linear (OA) Programming
T75 2015 K. V. Ebbesen On the Practicality of Data- AU MS Thesis Oblivious Sorting (OA) T76 2015 J. H. Knudsen and R. L. Engineering Rank and Select AU MS Thesis Pedersen Queries on Wavelet Trees (OA)
T77 2015 J. C. C. Jensen Event Detection in Soccer AU MS Thesis using Spatio-Temporal Data (OA)
T78 2015 M. E. Hougaard On the Complexity of Red- AU MS Thesis Black Trees for Higher (OA) Dimensions T79 2015 S. N. Madsen and R. Computing Set Operations AU MS Thesis Hallenberg-Larsen on Simple Polygons Using (OA) Binary Space Partition Trees
T80 2015 L. Walther Intersection of Convex AU MS Thesis Objects in the Plane (OA) T81 2015 A. S-H. Vinther and M. S- Pathfinding in Two- AU MS Thesis H. Vinther dimensional Worlds (OA) T82 2015 T. Sandholt and M. B. Geometric Measures of Depth AU MS Thesis Christensen (OA) T83 2015 M. Ravn Orthogonal Range Searching AU MS Thesis in 2D with Ball Inheritance (OA)
T84 2015 H. Hassanieh The Sparse Fourier MIT PhD Thesis Transform: Theory & Practice
T85 2015 N. Schepsen STXXL - Paging-Algorithmen FRA BS Thesis
T86 2015 D. Roß Cohesion in scientific FRA MS Thesis collaboration and citation networks T87 2016 J. Landbo and C. Green Range Mode Queries in AU MS Thesis Arrays (OA) T88 2016 H.K. Christensen Algorithms for Finding AU MS Thesis Dominators in Directed (OA) Graphs
Other O1 2008 E. Demaine, B. Gassend, All Polygons Flip Finitely ... In "Surveys on Discrete and (CO) J. O'Rourke, and G. T. Right? Computational Geometry: Toussaint Twenty Years Later", Contemporary Mathematics 453 O2 2008 A. Andoni and P. Indyk Near-Optimal Hashing Communications of the ACM, (CO) Algorithms for Approximate 51(1) Nearest Neighbor in High Dimensions
O3 2008 K. Mehlhorn and P. Algorithms and Data Springer Verlag (CO) Sanders Structures: The Basic Toolbox
O4 2009 D. Ajwani and U. Meyer Design and Engineering of In Algorithmic of Large and (PR) External Memory Traversal Complex Networks, Springer Algorithms for general graphs Verlag
O5 2009 L. Arge and N. Zeh External-memory Algorithms In Algorithms and Theory of (PR)(CO) and Data Structures Computation Handbook, CRC Press O6 2009 R. Hearn and E. Demaine Games, Puzzles, and A.K. Peters (CO) Computation O7 2010 D. Ajwani and H. Realistic Computer Models In Algorithm Engineering. (CO) Meyerhenke Bridging the Gap Between Algorithm Theory and Practice, Springer Verlag
O8 2011 H. Balslev, L. Arge, J.-C. Abstracts of Royal Danish (CO) Svenning, M. H. Schierup Academy of Sciences and C. S. Jensen Symposium on Biodiversity in the Silicon Age
O9 2012 L. Arge and K. G. Larsen I/O-Efficient Spatial Data Invited abstract in Structures for Range Queries SIGSPATIAL Special, July, 2012. O10 2012 B. Sandel, L. Arge, B. Response - Global endemism Science 335 (CO) Dalsgaard, R.G. Davies, needs spatial integration K.J. Gaston, W.J. Sutherland and J.-C. Svenning O11 2014 U. Meyer and N. Zeh I/O-model Encyclopedia of Algorithms, (CO) second edition
O12 2014 U. Meyer and N. Zeh List-Ranking Encyclopedia of Algorithms, (CO) second edition C. Center statistics
In the following, the center statistics collected by the foundation is enclosed. Note that since the same statistics is collected for all centers, not all of it is particularly relevant or meaningful for MADALGO. For example, since the tradition in the algorithms field is that only researcher that contributed very substantially to a result is a co-author on the paper with the results, and since authors are (almost) always listed alphabetically, statistics on “centerleder as co-author” and “centerleader is either first or last author” are not very relevant. Also, note that publication and citation statistics is also given in Section B.
Final report Center 84 Center for Massive Data Algorithmics DG.84/26-5 Date: 26-05-2016 Publications Publications pr. VIP FtE No. Titel 70 Book Chapters - Peer 10 Reviewed with PhD without PhD Book Chapters - Not Peer 9 60 Reviewed Conference Proceedings - 8 Peer Reviewed 50 Conference Proceedings - Not 7 Peer Reviewed 6 40 Journal article - Peer Reviewed 5 Journal article - Not Peer 30 Reviewed 4 Monographs - Peer Reviewed 20 3 Monographs - Not Peer Reviewed 2 10 Other means of publication - Peer Reviewed 1 Other means of publication - 0 Not Peer Reviewed 0
DG.84/26-5-2016 DG.84/26-5-2016
International conferences No. 60 Conferences organized Invited talks
50
40 No journal impact factor data available. No citation data available. 30
20
10
0
DG.84/26-5-2016 DG.84/26-5-2016 DG.84/26-5-2016
External Relations Public Outreach External Funding Companies - International No. Mill DKK 35 6 Companies - Danish No. Universities / research groups - International 100 30 Universities / research groups - Danish 5 90 25 80 4 70 20 60 3 50 15 40 2 10 30 20 1 5 10 0 0 0
DG.84/26-5-2016 DG.84/26-5-2016 DG.84/26-5-2016
Educational Activities Patents Awards No. No. ECTS points taught Number of courses taught Submitted patent applications No. 1,2 10 100 Spin-off companies established 9 Granted patents 90 1 8 80 7 70 0,8 6 60 0,6 5 50 40 4 0,4 30 3 20 2 0,2 10 1
0 0 0
DG.84/26-5-2016 DG.84/26-5-2016 DG.84/26-5-2016
Page 1/3 Center 84 Center for Massive Data Algorithmics Date: 26-05-2016 Faculty No. 8 Total - Staff Total - Full-time equivalent International - Staff International - Full-time equivalent 7 6
5
4 3 2
1
0 2007 2008 2009 2010 2011 2012 2013 2014 2015 DG.84/26-5-2016
Post-docs No. 14 Total - Staff Total - Full-time equivalent International - Staff International - Full-time equivalent
12
10
8
6
4
2
0 2007 2008 2009 2010 2011 2012 2013 2014 2015 DG.84/26-5-2016
Ph.D. students No. 25 Total - Staff Total - Full-time equivalent International - Staff International - Full-time equivalent PhD degrees - Staff PhD degrees - Full-time equivalent 20
15
10
5
0 2007 2008 2009 2010 2011 2012 2013 2014 2015 DG.84/26-5-2016
Guest Scientists No. 8 Total - Staff Total - Full-time equivalent International - Staff International - Full-time equivalent 7 6 5 4 3 2 1 0 2007 2008 2009 2010 2011 2012 2013 2014 2015 DG.84/26-5-2016
No. TAP & Administration 4,5 Technical Administrative Personnel Administrative Personnel 4 3,5 3 2,5 2 1,5 1 0,5 0 2007 2008 2009 2010 2011 2012 2013 2014 2015 DG.84/26-5-2016 Page 2/3 Center 84 Center for Massive Data Algorithmics Date: 26-05-2016 Centerleader as co-author No. of papers 100 Total number of center papers Centerleader co-author 90 80 70 60 50 40 30 20 10 0 2007 2008 2009 2010 2011 2012 2013 2014 2015 DG.84/26-5-2016
Centerleader is either first or last author % 100 Center Leader First author Center Leader Last author 90 80 70 60 50 40 30 20 10 0 2007 2008 2009 2010 2011 2012 2013 2014 2015 DG.84/26-5-2016
No. of authors per paper Title max average min 35
30
25
20
15
10
5
0 2007 2008 2009 2010 2011 2012 2013 2014 2015 DG.84/26-5-2016
2015 gender distribution by scientific degree, compared to the national distribution for Natural sciences 100% Male - National 90% 80% Male - Center of 70% Excellence 60% Female - National 50% 40% Female - Center of 30% Excellence 20% 10% 0% Associate Professor Professor Master student Ph.D. students Post-docs Faculty DG.84/26-5-2016 Number of scientists included: Ph.D. students: 20 Post-docs: 8 Associate Professors: 1 Professors: 6 Field of ResNatural scie2015 gender distribution by scientific degree, compared toNot included: 0
Page 3/3 Selected publications The below ten papers are selected in an attempt to both cover the breadth of the center’s research and to showcase some of the main center results. This is obviously not a simple task, and many important and interesting papers could not be selected. The number of each paper in the center publication list is listed below each paper, along with a few keywords describing the paper.
1. L. Arge and M. Thorup RAM-Efficient External Memory Sorting Proc. International Symposium on Algorithms and Computation (ISAAC), 2013 C267 (I/O and internal memory optimality – best paper award)
2. L. Arge, M. Revsbæk and N. Zeh I/O-Efficient Computation of Water Flow Across a Terrain Proc. Symposium on Computational Geometry (SoCG), 2010 C127 (I/O and terrain flood risk )
3. G.S. Brodal, E. Demaine, J.T. Fineman, J. Iacono, S. Langerman and J.I. Munro Cache-Oblivious Dynamic Dictionaries with Optimal Update/Query Tradeoff Proc. Symposium on Discrete Algorithms (SODA), 2010 C119 (Cache-oblivious data structures)
4. D.M. Kane, J. Nelson and D.P. Woodruff An Optimal Algorithm for the Distinct Elements Problem Proc. Symposium on Principles of Database Systems (PODS), 2010 C112 (Streaming algorithms – best paper award)
5. K. G. Larsen, J. Nelson and H. L. Nguyen Time Lower Bounds for Nonadaptive Turnstile Streaming Algorithms Proc. Symposium on Theory of Computing (STOC), 2015 C382 (Streaming algorithms)
6. C. Alexander, L. Arge, P.K. Bøcher, M. Revsbæk, B. Sandel, J.-C. Svenning, C. Tsirogiannis, and J. Yang Computing River Floods Using Massive Terrain Data Proc. International Conference on Geographic Information Science (GIScience), 2016 C431 (I/O, algorithm engineering and terrain flood risk)
7. B. Sandel, L. Arge, B. Dalsgaard, R. Davies, K. Gaston, W. Sutherland and J.-C. Svenning The influence of Late Quaternary climate-change velocity on species endemism Science 334 J34 (Interdisciplinary collaboration and algorithm engineering)
8. M. Patrascu Succincter Proc. Symposium on Foundations of Computer Science (FOCS), 2008 C23 (Succinct data structures – best student paper award)
9. G.S. Brodal, G. Lagogiannis and R.E. Tarjan Strict Fibonacci Heaps Proc. Symposium on Theory of Computing (STOC), 2012 C214 (Classical data structures)
10. K. G. Larsen The Cell Probe Complexity of Dynamic Range Counting Proc. Symposium on Theory of Computing (STOC), 2012 C199 (Lower bounds – best paper and best student paper award)
Final report RAM-Efficient External Memory Sorting
Lars Arge1, and Mikkel Thorup2,
1 MADALGO, Aarhus University, Aarhus, Denmark 2 University of Copenhagen,† Copenhagen, Denmark
Abstract. In recent years a large number of problems have been consid- ered in external memory models of computation, where the complexity measure is the number of blocks of data that are moved between slow external memory and fast internal memory (also called I/Os). In prac- tice, however, internal memory time often dominates the total running time once I/O-efficiency has been obtained. In this paper we study al- gorithms for fundamental problems that are simultaneously I/O-efficient and internal memory efficient in the RAM model of computation.
1 Introduction
In the last two decades a large number of problems have been considered in the external memory model of computation, where the complexity measure is the number of blocks of elements that are moved between external and internal memory. Such movements are also called I/Os. The motivation behind the model is that random access to external memory, such as disks, often is many orders of magnitude slower than random access to internal memory; on the other hand, if external memory is accessed sequentially in large enough blocks, then the cost per element is small. In fact, disk systems are often constructed such that the time spent on a block access is comparable to the time needed to access each element in a block in internal memory. Although the goal of external memory algorithms is to minimize the number of costly blocked accesses to external memory when processing massive datasets, it is also clear from the above that if the internal processing time per element in a block is large, then the practical running time of an I/O-efficient algorithm is dominated by internal processing time. Often I/O-efficient algorithms are in fact not only efficient in terms of I/Os, but can also be shown to be internal memory efficient in the comparison model. Still, in many cases the practical running time of I/O-efficient algorithms is dominated by the internal computation time. Thus both from a practical and a theoretical point of view it is interesting to investigate
Supported in part by the Danish National Research Foundation and the Danish National Advanced Technology Foundation. Supported in part by an Advanced Grant from the Danish Council for Independent Research under the Sapere Aude research career program. Center for Massive Data Algorithmics—a center of the Danish National Research Foundation. † Part of this work was done while the author was at AT&T Labs–Research.
L. Cai, S.-W. Cheng, and T.-W. Lam (Eds.): ISAAC2013, LNCS 8283, pp. 491–501, 2013. c Springer-Verlag Berlin Heidelberg 2013 492 L. Arge and M. Thorup how internal-memory efficient algorithms can be obtained while simultaneously ensuring that they are I/O-efficient. In this paper we consider algorithms that are both I/O-efficient and efficient in the RAM model in internal memory.
Previous results. We will be working in the standard external memory model of computation, where M is the number of elements that fit in main memory and an I/O is the process of moving a block of B consecutive elements between external and internal memory [1]. We assume that N ≥ 2M, M ≥ 2B and B ≥ 2. Computation can only be performed on elements in main memory, and we will assume that each element consists of one word. We will sometime assume the comparison model in internal memory, that is, that the only computation we can do on elements are comparisons. However, most of the time we will assume the RAM model in internal memory. In particular, we will assume that we can use elements for addressing, e.g. trivially implementing permuting in linear time. Our algorithms will respect the standard so-called indivisibility assumption,which states that at any given time during an algorithm the original N input elements are stored somewhere in external or internal memory. Our internal memory time measure is simply the number of performed operations; note that this includes the number of elements transferred between internal and external memory. N N Aggarwal and Vitter [1] described sorting algorithms using O( B logM/B B ) I/Os. One of these algorithms, external merge-sort, is based on Θ(M/B)-way merging. First O(N/M) sorted runs are formed by repeatedly sorting M elements in main memory, and then these runs are merged together Θ(M/B)atatime N to form longer runs. The process continues for O(logM/B M ) phases until one is left with one sorted list. Since the initial run formation and each phase can be O N/B O N N performed in ( ) I/Os, the algorithm uses ( BlogM/B B ) I/Os. Another algorithm, external distribution-sort, is based on Θ( M/B)-way splitting. The N input elements are first split into Θ( M/B) sets of roughly equal size, such that the elements in the first set are all smaller than the elements in the second O √ N set, and so on. Each of the sets are then split recursively. After (log M/B M )= N O(logM/B M ) split phases each set can be sorted in internal memory. Although performing the split is somewhat complicated, each phase can still be performed N N in O(N/B) I/Os. Thus also this algorithm uses O( B logM/B B ) I/Os. Aggarwal and Vitter [1] proved that external merge- and distribution-sort are I/O-optimal when the comparison model is used in internal memory, and in the following we will use sortE (N) to denote the number of I/Os per block of ele- N ments of these optimal algorithms, that is, sortE (N)=O(logM/B B )andexter- N nal comparison model sort takes Θ( B sortE (N)) I/Os. (As described below, the I/O-efficient algorithms we design will move O(N · sortE (N)) elements between internal and external memory, so O(sortE (N)) will also be the per element in- ternal memory cost of obtaining external efficiency.) When no assumptions other than the indivisibility assumption are made about internal memory computation (i.e. covering our definition of the use of the RAM model in internal memory), Aggarwal and Vitter [1] proved that permuting N elements according to a given N permutation requires Ω(min{N, B sortE (N)}) I/Os. Thus this is also a lower RAM-Efficient External Memory Sorting 493 bound for RAM model sorting. For all practical values of N, M and B the bound N is Ω( B sortE (N)). Subsequently, a large number of I/O-efficient algorithms have been developed. Of particular relevance for this paper, several priority queues have been developed where insert and deletemin operations can be performed 1 in O( B sortE (N)) I/Os amortized [2,4,8]. The structure by Arge [2] is based on the so-called buffer-tree technique, which uses O(M/B)-way splitting, whereas the other structures also use O(M/B)-way merging. In the RAM model the best known sorting algorithm uses O(N log log N) time [6]. Similar to the I/O-case, we use sortI (N)=O(log log N)todenotethe per element cost of the best known√ sorting algorithm. If randomization is allowed then this can be improved to O( log log n) expected time [7]. A priority queue can also be implemented so that the cost per operation is O(sortI (N)) [9].
Our results. In Section 2 we first discuss how both external merge-sort and external distribution-sort can be implemented to use optimal O(N log N) time if the comparison model is used in internal memory, by using an O(N log N) sorting algorithm and (in the merge-sort case) an O(log N) priority queue. We also show how these algorithms can relatively easily be modified to use
O(N · (sortI (N)+sortI (M/B) · sortE (N))) and
O(N · (sortI (N)+sortI (M) · sortE (N))) time, respectively, if the RAM model is used in internal memory, by using an O(N · sortI (N)) sorting algorithm and an O(sortI (N)) priority queue. The question is of course if the above RAM model sorting algorithms can be improved. In Section 2 we discuss how it seems hard to improve the running time of the merge-sort algorithm, since it uses a priority queue in the merging step. By using a linear-time internal-memory splitting algorithm, however, rather than an O(N · sortI (N)) sorting algorithm, we manage to improve the running time of external distribution-sort to
O(N · (sortI (N)+sortE (N))). N Our new split-sort algorithm still uses O( B sortE (N)) I/Os. Note that for small values of M/B the N ·sortE (N)-term, that is, the time spent on moving elements between internal and external memory, dominates the internal time. Given the conventional wisdom that merging is superior to splitting in external memory, it is also surprising that a distribution algorithm outperforms a merging algorithm. In Section 3 we develop an I/O-efficient RAM model priority queue by modi- fying the buffer-tree based structure of Arge [2]. The main modification consists of removing the need for sorting of O(M) elements every time a so-called buffer- emptying process is performed. The structure supports insert and deletemin op- 1 erations in O( B sortE (N)) I/Os and O(sortI (N)+sortE (N)) time. Thus it can N be used to develop another O( B sortE (N)) I/O and O(N·(sortI (N)+sortE (N))) time sorting algorithm. N Finally, in Section 4 we show that when B sortE (N)=o(N) (and our sorting algorithms are I/O-optimal), any I/O-optimal sorting algorithm must transfer 494 L. Arge and M. Thorup a number of elements between internal and external memory equal to Θ(B) times the number of I/Os it performs, that is, it must transfer Ω(N · sortE (N)) elements and thus also use Ω(N · sortE (N)) internal time. In fact, we show a lower bound on the number of I/Os needed by an algorithm that transfers b ≤ B elements on the average per I/O, significantly extending the lower bound of Aggarwal and Vitter [1]. The result implies that (in the practically realistic case) when our split-sort and priority queue sorting algorithms are I/O-optimal, they are in fact also CPU optimal in the sense that their running time is the sum of an unavoidable term and the time used by the best known RAM sorting algorithm. As mentioned above, the lower bound also means that the time spent on moving elements between internal and external memory resulting from the fact that we are considering I/O-efficient algorithms can dominate the internal computation time, that is, considering I/O-efficient algorithms implies that less internal-memory efficient algorithms can be obtained than if not considering I/O-efficiency. Furthermore, we show that when B ≤ M 1−ε for some constant ε>0 (the tall cache assumption)thesameΩ(N ·sortE (N)) number of transfers are needed for any algorithm using less than εN/4 I/Os (even if it is not I/O- optimal). To summarize our contributions, we open up a new area of algorithms that are both RAM-efficient and I/O-efficient. The area is interesting from both a theoretical and practical point of view. We illustrate that existing algorithms, in particular multiway merging based algorithms, are not RAM-efficient, and develop a new sorting algorithm that is both efficient in terms of I/O and RAM time, as well as a priority queue that can be used in such an efficient algo- rithm. We prove a lower bound that shows that our algorithms are both I/O and internal-memory RAM model optimal. The lower bound significantly ex- tends the Aggarwal and Vitter lower bound [1], and shows that considering I/O-efficient algorithms influences how efficient internal-memory algorithms can be obtained.
2Sorting
External merge-sort. In external merge-sort Θ(N/M) sorted runs are first formed by repeatedly loading M elements into main memory, sorting them, and writing them back to external memory. In the first merge phase these runs are merged together Θ(M/B) at a time to form longer runs. The merging is continued for N O(logM/B M )=O(sortE (N)) merge phases until one is left with one sorted run. It is easy to realize that M/B runs can be merged together in O(N/B) I/Os: We simply load the first block of each of the runs into main memory, find and output the B smallest elements, and continue this process while load- ing a new block from the relevant run every time all elements in main mem- ory from that particular run have been output. Thus external merge-sort uses N N N O( B logM/B M )=O( B sortE (N)) I/Os. In terms of internal computation time, the initial run formation can trivially be performed in O(N/M·M log M)=O(N log M) time using any O(N log N)in- RAM-Efficient External Memory Sorting 495 ternal sorting algorithm. Using an O(log(M/B)) priority queue to hold the mini- N mal element from each of the M/B runs during a merge, each of the O(logM/B M ) M merge phases can be performed in O(N log B ) time. Thus external merge-sort N M can be implemented to use O(N log M +logM/B M · N log B )=O(N log M + N N log M )=O(N log N) time, which is optimal in the comparison model. When the RAM model is used in internal memory, we can improve the in- ternal time by using a RAM-efficient O(M · sortI (M)) algorithm in the run formation phase and by replacing the O(log(M/B)) priority queue with an O(sortI (M/B)) time priority queue [9]. This leads to an O(N · (sortI (M)+ sortI (M/B) · sortE (N)) algorithm. There seems no way of avoiding the extra sortI (M/B)-term, since that would require an O(1) priority queue.
External distribution-sort.In external distribution-sort the input set of N el- ements is first split into M/B sets X ,X ,...,X√ defined by s = 0 1 M/B−1 M/B − 1 split elements x1 Split-sort. While it seems hard to improve the RAM running time of the external merge-sort algorithm, we can actually modify the external distribution-sort algo- rithm further and obtain an algorithm that in most cases is optimal both in terms of I/O and time. This split-sort algorithm basically works like the distribution- sort algorithm with the split algorithm modification described above. However, we need to modify the algorithm further in order to avoid the sortI (M)-term in the time bound that appears due to the repeated sorting of O(M) elements in the split element finding algorithm, as well as in the actual split algorithm. First of all, instead of sorting each batch of M/2 elements in the split algorithm to split them over s = M/B − 1 < M/2 split elements, we use a previous result that shows that we can actually perform the split in linear time. Lemma 1 (Han and Thorup [7]). In the RAM model N elements can be split over N 1−ε split elements in linear time and space for any constant ε>0. Secondly, in order to avoid the sorting in the split element finding algorithm of Aggarwal and Vitter [1], we design a new algorithm that finds the split elements on-line as part of the actual split algorithm, that is, we start the splitting with no split elements at all and gradually add at most s = M/B− 1 split elements one at a time. An online split strategy was previously used by Frigo et al [5] in a cache-oblivious algorithm setting. More precisely, our algorithm works as follows. To split N input elements we, as previously, repeatedly bring M/2 elements onto main memory, distribute them to buffers using the current split elements and Lemma 1, while outputting the B elements in a buffer when it runs full. However, during the process we keep track of how many elements are output to each subset. If the number of elements in a subset Xi becomes 2N/s we pause the split algorithm, compute the median of Xi and add it to the set of splitters, and split Xi at the median element into two sets of size N/s.Thenwecontinue the splitting algorithm. It is easy to see that the above splitting process results in at most s+1 subsets containing between N/s and 2N/s − 1 elements each, since a set is split when it has 2N/s elements and each new set (defined by a new split element) contains at least N/s elements. The actual median computation and the split of Xi can be performed in O(|Xi|)=O(N/s)timeandO(|Xi|/B)=O(N/sB) I/Os [1]. Thus if we charge this cost to the at least N/s elements that were inserted in Xi RAM-Efficient External Memory Sorting 497 since it was created, each element is charged O(1) time and O(1/B) I/Os. Thus each distribution phase is performed in linear time and O(N/B) I/Os, leading to an O(N · (sortI (M)+sortE (N))) time algorithm. Theorem 1. The split-sort algorithm can be used to sort N elements in O(N · N (sortI (M)+sortE (N))) time and O( B sortE (N)) I/Os. Remarks. Since sortI (M)+sortE (N) ≥ sortI (N) our split-sort algorithm uses Ω(N · sortI (N)) time. In Section 4 we prove that the algorithm in some sense is optimal both in terms of I/O and time. Furthermore, we believe that the algorithm is simple enough to be of practical interest. 3 Priority Queue In this section we discuss how to implement an I/O- and RAM-efficient priority queue by modifying the I/O-efficient buffer tree priority queue [2]. Structure. Our external priority queues consists of a fanout M/B B-tree [3] T over O(N/M) leaves containing between M/2andM elements each. In such a tree, all leaves are on the same level and each node (except the root) has fan-out 1 M/B M/B M/B between 2 and and contains at most splitting elements T O √ N defining the element ranges of its children. Thus has height (log M/B M )= O(sortE (N)). To support insertions efficiently in a “lazy” manner, each internal node is augmented with a buffer of size M and an insertion buffer of size at most B is maintained in internal memory. To support deletemin operations efficiently, a RAM-efficient priority queue [9] supporting both deletemin and deletemax,1 called the mini-queue, is maintained in main memory containing the up to M/2 smallest elements in the priority queue. Insertion. To perform an insertion we first check if the element to be inserted is smaller than the maximal element in the mini-queue, in which case we insert the new element in the mini-queue and continue the insertion process with the currently maximal element in the mini-queue. Next we insert the element to be inserted in the insertion buffer. When we have collected B elements in the insertion buffer we insert them in the buffer of the root. If this buffer now contains more than M/2 elements we perform a buffer-emptying process on it, “pushing” elements in the buffer one level down to buffers on the next level of T : We load the M/2 oldest elements into main memory along with the less than M/B splitting elements, distribute the elements among the splitting elements, and finally output them to the buffers of the relevant children. Since the splitting and buffer elements fit in memory and the buffer elements are distributed to M/B buffers one level down, the buffer-emptying process is performed in O(M/B) I/Os. Since we distribute M/2elementsusing M/B splitters the process can 1 A priority queue supporting both deletemin and deletemax can easily be obtained using two priority queues supporting deletemin and delete as the one by Thorup [9]. 498 L. Arge and M. Thorup be performed in O(M) time (Lemma 1). After emptying the buffer of the root some of the nodes on the next level may contain more than M/2elements.If they do we perform recursive buffer-emptying processes on these nodes. Note that this way buffers will never contain more than M elements. When (between 1andM/2) elements are pushed down to a leaf (when performing a buffer- emptying process on its parent) resulting in the leaf containing more than M (and less than 3M/2) elements we split it into two leaves containing between M/2and3M/4 elements each. We can easily do so in O(M/B) I/Os and O(M) time [1]. As a result of the split the parent node v gains a child, that is, a new leaf is inserted. If needed, T is then balanced using node splits as a normal B-tree, that is, if the parent node now has M/B children it is split into two nodes with 1/2 M/B children each, while also distributing the elements in v’s buffer among the two new nodes. This can easily be accomplished in O(M/B) I/Os and M time. The rebalancing may propagate up along the path to the root (when the root splits a new root with two children is constructed). During buffer-emptying processes we push Θ(M) elements one level down the tree using O(M/B) I/Os and O(M) time. Thus each element inserted in the 1 N root buffer pays O(1/B) I/Os and O(1) time amortized, or O( B logM/B B )= 1 N O( B sortE (N)) I/Os and O(logM/B B )=O(sortE (N)) time amortized on buffer- emptying processes on a root-leaf path. When a leaf splits we may use O(M/B) I/Os and O(M) time in each node of a leaf-root path of length O(sortE (N)). Amortizing among the at least M/4 elements that were inserted in the leaf since 1 it was created, each element is charged and additional O( B sortE (N)) I/Os and O(sortE (N)) time on insertion in the root buffer. Since insertion of an element in the root buffer is always triggered by an insertion operation, we can charge 1 the O( B sortE (N)) I/Os and O(sortE (N)) time cost to the insertion operation. Deletemin. To perform a deletemin operation we first check if the mini-queue contains any elements. If it does we simply perform a deletemin operation on it and return the retrieved element using O(sortI (M)) time and no I/Os. Otherwise we perform buffer-emptying processes on all nodes on the leftmost path in T starting at the root and moving towards the leftmost leaf. After this the buffers on the leftmost path are all empty and the smallest elements in the structure are stored in the leftmost leaf. We load the between M/2andM elements in the leaf into main memory, sort them and remove the smallest M/2 elements and insert them in the mini-queue in internal memory. If this results in the leaf having less than M/2 elements we insert the elements in a sibling and delete the leaf. If the sibling now has more than M elements we split it. As a result of this the parent node v may lose a child. If needed T is then rebalanced using node fusions as a normal B-tree, that is, if v now has 1/2 M/B children it is fused with its sibling (possibly followed by a split). As with splits after insertion of a new leaf, the rebalancing may propagate up along the path to the root (when the root only has one leaf left it is removed). Note that no buffer merging is needed since the buffers on the leftmost path are all empty. RAM-Efficient External Memory Sorting 499 If buffer-emptying processes are needed during a deletemin operation we M N M N spend O( B logM/B B )=O( B sortE (N)) I/Os and O(M logM/B B )=O(M · sortE (N)) time on such processes that are not paid by buffers running full (containing more than M/2 elements). We also use O(M/B) I/Os and O(M · sortI (M)) time to load and sort the leftmost leaf, and another O(M · sortI (M)) time is used to insert the M/2 smallest elements in the mini-queue. Then we N may spend (M/B) I/Os and O(M)timeoneachofatmostO(logM/B B )nodes on the leftmost path that need to be fused or split. Altogether the filling up of M the mini-queue requires O( B sortE (N)) I/Os and O(M ·(sortI (M)+sortE(N))) time. Since we only fill up the mini-queue when M/2 deletemin operations have been performed since the last fill up, we can amortize this cost over these M/2 1 deletemin operations such that each deletemin is charged O( B sortE (N)) I/Os and O(sortE (N)+sortI (M)) time. Theorem 2. There exists a priority queue supporting an insert operation in 1 O( B sortE (N)) I/Os and O(sortE (N)) time amortized and a deletemin opera- 1 tion in O( B sortE (N)) I/Os and O(sortI (M)+sortE (N)) time amortized. N Remarks. Our priority queue obviously can be used in a simple O( B sortE (N)) I/O and O(N · (sortI (M)+sortE (N))) time sorting algorithm. Note that it is essential that a buffer-emptying process does not require sorting of the elements in the buffer. In normal buffer-trees [2] such a sorting is indeed performed, mainly to be able to support deletions and (batched) rangesearch operations efficiently. Using a more elaborate buffer-emptying process we can also support deletions without the need for sorting of buffer elements. 4 Lower Bound N Assume that B sortE (N)=o(N) and for simplicity also that B divides N. Recall that under the indivisibility assumption we assume the RAM model in internal memory but require that at any time during an algorithm the original N elements are stored somewhere in memory; we allow copying of the original elements. The internal memory contains at most M elements and the external memory is divided into N blocks of B elements each; we only need to consider N blocks, since we are considering algorithms doing less than N I/Os. During an algorithm, we let X denote the set of original elements (including copies) in internal memory and Yi the set of original elements (including copies) in the i’th block; an I/O transfers up to B elements between an Yi and X.Notethatin terms of CPU time, an I/O can cost anywhere between 1 and B (transfers). In the external memory permuting problem, we are given N elements in the first N/B blocks and want to rearrange them according to a given permutation; since we can always rearrange the elements within the N/B blocks in O(N/B) I/Os, a permutation is simply given as an assignment of elements to blocks (i.e. we ignore the order of the elements within a block). In other words, we start with a distribution of N elements in X, Y1,Y2,...YN such that |Y1| = |Y2| = ... = |YN/B| = B and X = Y(N/B)+1 = Y(N/B)+2 = ... = YN = ∅, 500 L. Arge and M. Thorup and should produce another given distribution of the same elements such that |Y1| = |Y2| = ...= |YN/B| = B and X = Y(N/B)+1 = Y(N/B)+2 = ...= YN = ∅. N To show that any permutation algorithm that performs O( B sortE (N)) I/Os has to transfer Ω(N ·sortE (N)) elements between internal and external memory, we first note that at any given time during a permutation algorithm we can identify a distribution (or more) of the original N elements (or copies of them) in X, Y1,Y2,...YN . We then first want to bound the number of distributions that can be created using T I/Os, given that bi,1≤ i ≤ T ,isthenumberof elements transferred in the i’th I/O; any correct permutation algorithm needs N! Ω N/B N to be able to create at least B!N/B = (( ) ) distributions. Consider the i’th I/O. There are at most N possible choices for the block Yj involved in the I/O; the I/O either transfers bi ≤ B elements from X to Yj or M from Yj to X. In the first case there are at most ways of choosing the bi bi elements, and each element is either moved or copied. In the second case there are at most most B ways of choosing the elements to move or copy. Thus the bi I/O can at most increase the number of distributions that can be created by a factor of M B bi 2bi N · + · 2 N 2 eM 2(b1+b2) 2b1 2b2 (2 ) 2b 2 N(2eM/b1) · N(2eM/b2) ≤ ≤ N(2eM/b) . b2(b1+b2) Next we consider the number of distributions that can be created using T I/Os for all possible values of bi,1≤ i ≤ T , with a given average b.This can trivially be bounded by multiplying the above bound by BT (since this is a bound on the total number of possible sequences b1,b2,...,bT ). Thus the number T of distributions is bounded by BT N(2eM/b)2b =((BN)(2eM/b)2b)T . Since any permutation algorithm needs to be able to create Ω((N/B)N ) distributions, we get the following lower bound on the number of I/Os T (b) needed by an algorithm that transfers b ≤ B elements on the average per I/O: N log(N/B) T (b)=Ω . log N + b log(M/b) N Now T (B)=Ω(min{N, B sortE (N)}) corresponds to the lower bound proved N sort N o N T B by Aggarwal and Vitter [1]. Thus when B E ( )= ( )weget ( )= Ω N sort N Ω N log(N/B) . ≤ b ≤ B ≤ M/ T b ( B E ( )) = B log(M/B) Since 1 2, we have ( )= N ω(T (B)) for b = o(B). Thus any algorithm performing optimal O( B sortE (N)) I/Os must transfer Ω(N · sortE (N)) elements between internal and external memory. RAM-Efficient External Memory Sorting 501 Reconsider the above analysis under the tall cache assumption B ≤ M 1−ε for some constant ε>0. In this case, we have that the number of distributions any permutation algorithm needs to be able to create is Ω((N/B)N )=Ω(N εN ). AboveweprovedthatwithT I/Os transferring an average number of b keys an algorithm can create at most (BN(2eM/b)2b)T N Remark. The above means that in practice where B sortE (N)=o(N)our N O( B sortE (N)) I/O and O(N · (sortI (N)+sortE (N)) time split-sort and prior- ity queue sort algorithms are not only I/O-optimal but also CPU optimal in the sense that their running time is the sum of an unavoidable term and the time used by the best known RAM sorting algorithm. References 1. Aggarwal, A., Vitter, J.S.: The Input/Output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1988) 2. Arge, L.: The buffer tree: A technique for designing batched external data structures. Algorithmica 37(1), 1–24 (2003) 3. Comer, D.: The ubiquitous B-tree. ACM Computing Surveys 11(2), 121–137 (1979) 4. Fadel, R., Jakobsen, K.V., Katajainen, J., Teuhola, J.: Heaps and heapsort on sec- ondary storage. Theoretical Computer Science 220(2), 345–362 (1999) 5. Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algo- rithms. In: Proc. IEEE Symposium on Foundations of Computer Science, pp. 285– 298 (1999) 6. Han, Y.: Deterministic sorting in O(n log log n) time and linear space. In: Proc. ACM Symposium on Theory of Computation,√ pp. 602–608 (2002) 7. Han, Y., Thorup, M.: Integer sorting in O(n log log n) expected time and linear space. In: Proc. IEEE Symposium on Foundations of Computer Science, pp. 135–144 (2002) 8. Kumar, V., Schwabe, E.: Improved algorithms and data structures for solving graph problems in external memory. In: Proc. IEEE Symp. on Parallel and Distributed Processing, pp. 169–177 (1996) 9. Thorup, M.: Equivalence between priority queues and sorting. Journal of the ACM 54(6), Article 28 (2007) I/O-Efficient Computation of Water Flow Across a Terrain Lars Arge∗ Morten Revsbæk∗ Norbert Zeh† MADALGO MADALGO Faculty of Computer Science University of Aarhus University of Aarhus Dalhousie University Aarhus, Denmark Aarhus, Denmark Halifax, Canada [email protected] [email protected] [email protected] ABSTRACT 1. INTRODUCTION Consider rain falling at a uniform rate onto a terrain T rep- An important problem in terrain analysis is the prediction resented as a triangular irregular network. Over time, water of water flow across a terrain. Traditional approaches focus collects in the basins of T , forming lakes that spill into ad- on computing the river network of the terrain under the jacent basins. Our goal is to compute, for each terrain ver- assumption that water does not collect in the basins of the tex, the time this vertex is flooded (covered by water). We terrain. In reality, water does collect in the terrain’s basins, present an I/O-efficient algorithm that solves this problem particularly during heavy rainfall. This may cause basins to using O(sort(X)log(X/M) + sort(N)) I/Os, where N is the spill into adjacent basins, changing the river network of the number of terrain vertices, X is the number of pits of the terrain as a result. Thus, to model the flow of water across terrain, sort(N) is the cost of sorting N data items, and M a terrain over time, it is necessary to compute the times at is the size of the computer’s main memory. Our algorithm which the basins of the terrain spill. In this paper, we solve assumes that the volumes and watersheds of the basins of T the more general problem of computing, for every vertex v have been precomputed using existing methods. of a terrain T ,thetimetv at which it is flooded. We assume the terrain T is represented as a triangular irregular network (TIN) and the amount of rain is uniform across the terrain. Categories and Subject Descriptors The accuracy of predictions of natural phenomena, such as flooding, depends on the precision of the data used in F.2.2 [Analysis of Algorithms and Problem Complex- these predictions. High-resolution elevation models even of ity]: Nonnumerical Algorithms and Problems—Geometrical fairly small geographic regions often exceed the size of a problems and computations computer’s main memory. Current GIS tools cannot handle data sets of this size efficiently and therefore need to work with models of lower resolutions. This sacrifices accuracy General Terms because lower-resolution models do not capture all terrain Algorithms, Theory features. For example, in experiments we conducted to pre- dict the flooding of coastal regions of Denmark due to rising sea levels, an elevation model with one data point every 10m Keywords failed to capture a dike around an island, and the island was Terrains, geographical information systems, I/O-efficient al- predicted to be flooded if the sea rises by 2m, while the dike gorithms can in fact withstand 2m higher sea levels. Using a higher- resolution model with one data point every 2m, we obtained ∗ the correct prediction, but storing elevation data for Den- Supported in part by the Danish National Research Foun- mark alone requires 500GB of space at this resolution, an dation, the Danish Strategic Research Council, and by the US Army Research office. MADALGO is the Center for input size well beyond the size of main memory and beyond Massive Data Algorithmics, a center of the Danish National the reach of current GIS tools. Research Foundation. To process data sets beyond the size of main memory ef- †Supported in part by the Natural Sciences and Engineer- ficiently, it is necessary to develop I/O-efficient algorithms, ing Research Council of Canada and the Canada Research that is, algorithms that focus on minimizing the number of Chairs programme. Part of this work was done while on disk accesses they perform to swap data between disk and sabbatical at MADALGO. internal memory, as a disk access is orders of magnitude slower than an internal-memory computation step. In this paper, we propose an I/O-efficient algorithm for computing the flooding times of all vertices of a terrain T . Permission to make digital or hard copies of all or part of this work for The core of the problem is computing the spill times of all personal or classroom use is granted without fee provided that copies are basins of T . A simple method to compute these spill times not made or distributed for profit or commercial advantage and that copies is to simulate the entire sequence of spill events of the basins bear this notice and the full citation on the first page. To copy otherwise, to T republish, to post on servers or to redistribute to lists, requires prior specific of and maintain the watersheds of all basins that yet have permission and/or a fee. to spill, as well as predicted spill times for these basins based SCG’10, June 13–16, 2010, Snowbird, Utah, USA. on their current watersheds. An internal-memory solution Copyright 2010 ACM 978-1-4503-0016-2/10/06 ...$10.00. 403 based on this idea has been presented in [14]. In Section 3.2, The key to obtaining an O(sort(N)) I/O solution to this we discuss an O(N log N) time implementation of this ap- problem is an algorithm that can process a sequence of N proach using a priority queue and a union-find structure. Union and Find operations using O(sort(N)) I/Os, assum- This simulation approach does not translate into an I/O- ing the entire sequence of operations is provided in advance. efficient algorithm, as the only known I/O-efficient union- Arge and Revsbæk [5] extended the result of [1] to remov- find structure [1] requires the sequence of Union operations ing basins based on different geometric measures, including to be known in advance. In simulating the sequence of spill volume and area. events, the set of Union operations is known, but their Partial flooding methods provide a basis only for approxi- order depends on the spill times of the basins. Using an mate solutions to flow modelling, as the underlying assump- internal-memory union-find structure and an I/O-efficient tion is that all “small” basins are flooded at a certain time, priority queue (e.g., [3, 12]), a cost of O(Xα(X)+sort(N)) while all “big” basins are not. This assumption may not be disk accesses can be achieved, where α(·)istheinverseof true, as the spill time of a basin depends on its volume and Ackermann’s function, sort(N) N is the I/O complex- its watershed, and the watershed of a basin may grow over ity of sorting N data items (see next section), and X is time as a result of other basins spilling into it; in particular, the number of pits of the terrain. In contrast, the algo- the watershed of a big basin may grow to a size far exceeding rithm presented in this paper achieves an I/O complexity of the size of the watershed of a small basin and, thus, the big O(sort(X)log(X/M) + sort(N)) disk accesses. basin may spill before the small basin. To model the flow In the remainder of this section, we formally define the network at time t accurately, it is necessary to compute the computational model we use, discuss previous work, and times the basins of T fill and remove the basins that are give an overview of our algorithm. Section 2 introduces the full at time t. This is much harder than the partial flood- terminology and notation we use throughout the paper. Sec- ing approaches discussed above, as the above methods are tion 3 discusses our algorithm for computing the spill times based on local measures associated with each basin, while of the terrain’s basins and the flooding times of all terrain the computation of the actual spill time of each basin β de- vertices. This algorithm makes use of an I/O-efficient meld- pends on the spill times of other basins that spill into β.As able priority queue, which we discuss in Section 4. mentioned in the introduction, Liu and Snoeyink [14] pre- sented an internal-memory algorithm for computing actual 1.1 I/O Model spill times and used it for flow prediction. While the pa- We use the I/O model with one (logical) disk [2] to design per does not present the algorithm in detail, we discuss an and analyze our algorithm. In this model, the computer is efficient implementation using a union-find structure and a equipped with a two-level memory hierarchy consisting of an priority queue in Section 3.2; this implementation is needed internal memory and a (disk-based) external memory.The as part of our I/O-efficient algorithm. internal memory is capable of holding M data items (ver- We also require a tree structure that represents the nesting tices, edges, etc.), while the external memory is of conceptu- of the basins of T . This tree has been termed the merge tree ally unlimited size. All computation has to happen on data of T in [7,8] (also see Section 2) and can be computed using in internal memory. Data is transferred between internal O(sort(N)) I/Os using the topological persistence algorithm and external memory in blocks of B consecutive data items. of [1]. This algorithm is easily augmented to compute the Such a transfer is referred to as an I/O operation or I/O. lowest saddle on the boundary of each basin and, as shown The cost of an algorithm is the number of I/Os it performs. in [5], the volume of each basin. The number of I/Os required to read N contiguous items Computing the watershed sizes of all basins of T is harder. from disk is N/B . The number of I/Os required to sort N The watershed sizes of all basins of T are easily computed itemsissort(N)=Θ((N/B)logM/B(N/B)) [2]. For all real- from the watershed sizes of all pits by summing watershed istic values of N, M,andB,wehaveN/B < sort(N) N. sizes bottom up in the merge tree. However, the only I/O- efficient algorithm for computing the watersheds of all pits 1.2 Related Work of a terrain exactly is the one of [9]. This algorithm per- forms O(sort(N + S)) I/Os for fat terrains, where S is the Due to its importance, the problem of computing water size of the terrain’s strip map. The size of the strip map of flow across a terrain (usually in the form of a river net- a fat terrain is Θ(N 2) in the worst case [9], in which case work) has been studied extensively. Most existing meth- the exact computation of watersheds becomes infeasible. An ods for computing river networks assume that once water approach often taken in practice [16–18] is to assume that flows into a small basin of the terrain, it never flows out—in water flows only along terrain edges, allowing the computa- other words, basins do not spill. Therefore, to avoid water tion of watersheds using O(sort(N)) I/Os. While this may getting caught in small local basins, most flow modelling lead to poor approximations of the watersheds for irregular approaches first remove all basins by flooding the terrain, terrains [9], TIN’s derived from LIDAR data, for example, that is, conceptually pouring water onto the terrain until all are rather regular, and the computed watersheds match the basins are filled [4, 13, 15]. However, this often leads to un- real watersheds rather closely. realistic flow patterns, since many important geographical features are removed. Recent papers [1, 5] suggested partial flooding algorithms that flood only “small” basins, where the 1.3 New Result size of a basin can be defined using different measures, such We present an algorithm that computes the flooding times as height, volume or area. Agarwal, Arge and Yi [1] de- of all terrain vertices using O(sort(X)log(X/M)+sort(N)) scribedanO(sort(N)) I/O partial flooding algorithm that I/Os, where N is the size of the terrain and X is the number removes all basins of small height. This is done by com- of pits. This assumes that the watershed sizes and volumes puting the topological persistence [10, 11] of each basin and of all basins are given and that every vertex is labelled with removing the ones with persistence below a small threshold. the pit whose watershed contains it. The cost of computing 404 this information has been discussed in the previous section. min(T (w2), T (w4)) and appear in the order w1,w2,w3,w4 Our algorithm operates on the merge tree M of the given clockwise around v. terrain T .Givenanodeβ of M, we employ a recursive A basin is a maximal connected set of points β ⊆ R3 such strategy to compute the spill times of all basins represented that T ((x, y)) ≤ z ≤ hβ , for all (x, y, z) ∈ β,wherehβ is a by descendants of β. If there are at most M such descen- fixed elevation chosen as the upper boundary of β.Abasinβ dants, we use an augmented version of the internal-memory is maximal if there exists a saddle point pβ on the boundary algorithm mentioned in the introduction to compute the spill of β such that T (pβ)=hβ.Thepointpβ is called the spill times of their corresponding basins using O(sort(Y )) I/Os, point of basin β,sincewaterpouredintoβ spills over pβ where Y is the number of descendants of β plus the number into an adjacent basin once β becomes full. We assume pβ of basins that spill into β. Otherwise we consider an appro- is unique, that is, there are no two saddles with elevation hβ priate path P from β to a descendant leaf and prove that on the boundary of β. We also assume exactly two basins we can compute the spill times of all basins whose parents meet in each spill point. Throughout this paper, we are belong to P using O(sort(Y )) I/Os, where Y is defined as interested almost exclusively in maximal basins and refer to above. The path P is chosen so that every subtree attached them simply as basins. Every basin contains at least one to P contains at most half of β’s descendants, and we invoke pit, and for every pit there exists a unique (maximal) basin our algorithm recursively on the root of each such subtree. that contains only this pit. We call such a basin elementary. This ensures that log(X/M) levels of recursion suffice to Trickle paths, watersheds, and tributaries. The break M into subtrees of size at most M,towhichtheabove trickle path of a point q ∈T is the path that starts at q, internal-memory algorithm can be applied. The cost per continues in the direction of steepest descent for every point level of recursion is O(sort(X)) I/Os. Hence, the total cost it visits, and ends either in a pit p or at the boundary of T . of the algorithm is O(sort(X)log(X/M)) I/Os. This gives In the former case, water falling onto q collects in the ele- only the spill times of the basins. To compute the flooding mentary basin corresponding to p; in the latter, it flows off times of all terrain vertices, we use a post-processing step the edge of the terrain. The watershed of a pit p is the set of 0 that can be seen as a simpler version of the recursive step of points whose trickle paths end in p. The watershed Wβ of a our algorithm and performs O(sort(N)) I/Os. basin β is the union of the watersheds of all pits contained t The intuition behind the computation in each recursive in β. More generally, we use Wβ to denote the watershed of step is the following. In general, there are two directions basin β at time t, which is the area such that water falling t water can flow across any saddle of the terrain T .Giventhe onto Wβ at time t collects in basin β.Atributary of β is flow direction for each saddle, spill times could be computed abasinτ such that τ ∩ β = ∅, τ spills before β,andwater tτ rather easily, but the direction for each saddle is determined falling onto Wτ at the time tτ when τ spills collects in β; by the spill times of the two basins that merge at this sad- that is, τ spills into β and the watershed of τ at this time dle. For the saddles between the basins corresponding to the becomes part of the watershed of β.Notethatτ is usually path P in each recursive steps, we can characterize each flow a tributary of more than one basin. In particular, if β is the direction as either “confluent” (toward the basin represented smallest basin that has τ as a tributary, then τ is a tributary by the leaf of P ) or “diffluent” (away from the leaf), and of every basin that contains β but not τ. we can show that confluent spill events that influence other Merge tree and flow tree. The basins of T form a spill events—we call these watershed events—can themselves hierarchy that is easily represented using a rooted tree, the depend only on confluent watershed events. This allows us merge tree M of T .TheleavesofM are the elementary to perform a sweep in the confluent direction first to com- basins of T .Abasinβ1 is the parent of a basin β2 if and pute the times of all confluent watershed events. In a second only if β2 ⊂ β1 and there exists no basin β3 such that β2 ⊂ phase, we sweep in the diffluent direction and use the times β3 ⊂ β1. Under the assumptions we made about T , M is computed in the first phase to compute the correct times for a binary tree. For a subset S of nodes of M,letM(S)be all spill events. the subgraph of M induced by S.Foranodeα of M, Mα denotes the subtree of M induced by α and its descendants. 2. PRELIMINARIES We do not distinguish between merge tree nodes and their corresponding basins. For a basin β,weuseVβ to denote In this section, we introduce the basic terminology used β’s volume, W t to denote β’s watershed at time t or its size throughout this paper. In the following, we make some as- β (which will be clear from the context), Eβ to denote the sumptions about the structure of the terrain that simplify event that β spills into an adjacent basin, and tβ to denote the exposition in the rest of the paper. All these assumptions the time of event Eβ.WecallEβ the spill event associated can be removed using standard perturbation techniques. with β. See Figure 1 for an illustration of these definitions. Terrains, pits, and basins. We consider the terrain T Now consider a subset S of nodes of M such that M(S) to be represented as a triangular irregular network, which is a tree. The flow paths between the basins in S form is a planar triangulation each of whose vertices v has an a flow tree F(S) defined as follows. Let S be the set of associated elevation T (v). The elevation of a point interior leaves of M(S). The elements of S are the vertices of F(S). to a triangle is a linear interpolation of the elevations of the There is an edge between two such vertices α1 and α2 if their triangle vertices. In this manner, the terrain is represented watersheds touch in the common spill point of two basins as a continuous piecewise linear surface, and we use T (p) 2 β1,β2 ∈ S. See Figure 2. to refer to the elevation of the point p ∈ R . We assume that no two adjacent vertices have the same elevation. A pit of T is a local minimum, that is, a terrain vertex all 3. COMPUTING FLOODING TIMES of whose neighbours have higher elevations. A saddle point Our algorithm for computing the flooding times of all ter- of T is a vertex v with four vertices w1,w2,w3,w4 among rain vertices has two phases. The first phase (Sections 3.1– its neighbours that satisfy max(T (w1), T (w3)) < T (v) < 3.3) computes the spill times tβ of all basins of T using 405 Vi = 315 ti =8.75 i i Vc =49 Vh = 123 tc =3.26 th =4.78 c h c h =44 =219 a b d Vg a b d tg . g g V =6 f t =1 f b Vd =2 b t =0.4 =13 d Va e t =1.26 e =3 a Vf tf =0.33 =13 Ve t =0.85 0 =9 0 =6 0 =5 0 =7 0 =9 e Wa Wb Wd We Wf 0 =16 Wg 0 =15 0 =21 Wc Wh 0 =36 Wi (a) (b) Figure 1: (a) A 1-d terrain with its corresponding merge tree and volumes and initial watersheds of its basins. (b) The spill times of the basins and the water levels in the basins at time t =2. α0 α0 α1 α2 α1 α3 β1 β4 β5 α4 α2 β5 α5 2 β β7 α6 β4 α3 β3 β2 β7 β3 α4 β3 α7 β6 β2 β4 β1 β6 α5 β5 α7 α6 β1 β6 α7 β7 (a) (b) (c) Figure 2: Figure (a) shows the merge tree M(S)ofasetS = {α0,α1,β1,...,α7,β7} of basins. Figure (b) illustrates the nesting of these basins using contour lines through their spill points. Figure (c) shows the flow tree of basins α7,β1,β2,...,β7. Every edge corresponds to a spill point and joins the two basins containing the endpoints of the trickle paths starting at this spill point (shown as dashed lines in Figure (b)). Note that the trickle paths corresponding to different edges incident to a flow tree node βi may end in different pits inside the basin βi. This is the case for basin β6 in Figure (b). O(sort(X)log(X/M)) I/Os. The second phase (Section 3.4) Our algorithm for computing the spill times of all basins then computes the flooding times of all vertices of T using is recursive. Every recursive call takes a node β ∈Mand O(sort(N)) I/Os. a list Rβ of all tributaries of β as input. Each tributary tτ τ ∈Rβ stores its spill time tτ , its watershed Wτ := Wτ at 3.1 Computing Spill Times time tτ , and the preorder number of an elementary basin it β We assume the merge tree M is given and every node contains. The task of the recursive call on a node is to 0 compute the spill times of all proper descendants of β in M. β ∈Mstores Vβ , Wβ ,aswellasidentifiersofthetwoele- The top-level invocation takes the root ρ of M and an empty mentary basins λf (β)andλr(β) such that λf (β) ∈Mβ and 0 0 list of tributaries as input (since ρ has no tributaries). We Wλ (β) and Wλ (β) touch in pβ; λf (β) is needed for some f r distinguish two cases for each recursive call. data structure queries in our algorithm, while λr(β)isthe If |Mβ |≤M, we use the algorithm in Section 3.2 below basin where water spilling from β would collect if we poured to solve the problem using O(sort(X)) I/Os, where X is the water only into β. We further assume the elementary basins total input size of the invocation, that is, X := |Mβ |+|Rβ |. of T have been numbered using a preorder traversal of the If |Mβ| >M,wecomputeaheaviest path P in Mβ .This flow tree F of T starting at an arbitrary root, and every path consists of a sequence of nodes α0,α1,...,αk,where elementary basin stores the preorder interval of its descen- α0 = β, αk is a leaf, and, for 1 ≤ i ≤ k, αi is the child of dants. This information can be computed from the input of αi−1 with the bigger subtree Mα among the two children our algorithm using O(sort(X)) I/Os using standard tech- i of αi−1.Weuseβi to denote the other child of αi−1.See niques. Details appear in the full paper. 406 Figure 2(a). The first step of the algorithm is to compute the part of Wα .Moreprecisely,aFind(α) operation returns spill times tαi and tβi and the set Rβi of tributaries of βi,for a representative elementary sub-basin of α , and it is easy all 1 ≤ i ≤ k. To finish the computation of spill times, we to ensure that at all times, the representative of α stores recursively invoke the algorithm on each node βi,1≤ i ≤ k. the ID of α . Initially, all elementary basins are active and As we show in Section 3.3, the computation of the spill times all other basins are inactive; the predicted spill time of an 0 tαi and tβi ,for1≤ i ≤ k, and of the lists of tributaries of the elementary basin α is tα := Vα/Wα. To allow the updating basins β1,β2,...,βk takes O(sort(k + |Rβ |)) = O(sort(X)) of predicted spill times, each active basin α also stores the I/Os, where X := |Mβ|+|Rβ |. The path P can be computed time uα when its watershed changed last—that is, the spill using O(sort(X)) I/Os using the Euler tour technique and time of its most recent tributary—as well as its residual vol- r list ranking [6]. This gives the following result. ume Vα at time uα, which is the portion of Vα left to be r filled at this time. Initially, Vα = Vα and uα = 0, for every Theorem 1. The spill times of all basins of a terrain T elementary basin α of T . can be computed using O(sort(X)log(X/M)) I/Os, where X After initializing the algorithm’s data structures as just is the number of elementary basins of T . described, we process the events in Q and Rβ by increasing time until Q contains only the basin β. The details of each Proof. We prove in Section 3.2 that, given the tribu- iteration are as follows. Let τ be the next tributary in Rβ to taries of β, we compute the correct spill times for all basins be processed, and let α be the active basin with minimum in Mβ in the case |Mβ|≤M. In Section 3.3, we prove priority in Q.Iftτ 407 R , R ,...,R β ,β ,...,β To prove the correctness of the algorithm, we consider β1 β2 βk of the basins 1 2 k. Our algo- the sequence of events E1,E2,...,EX affecting basin β and rithm for this problem operates on the flow tree F := F(S) its sub-basins, sorted by their times t1,t2,...,tX .Thatis, of the set S of basins in P . Note that every edge in F corre- every event Ei is an event Eα with α ∈Mβ or such that sponds to the spill point connecting two basins αi and βi,for α/∈Mβ and α isatributaryofabasinα ∈Mβ,inwhich 1 ≤ i ≤ k,andthatλf (αi)=λr(βi)andλf (βi)=λr(αi)in case α is also a tributary of β and belongs to Rβ . this case. So the tree is easy to construct using a constant We use ti to denote the “current” predicted time of the number of sorting and scanning steps of S. Details appear event Ei. Consider the basin α such that Ei = Eα.Then in the full paper. we define ti := ti if α is a tributary of β and ti := ∞ if We call a spill event Eβi confluent, as the water spilling α ∈Mβ and α is inactive; if α ∈Mβ and α is active, we from βi at time tβi spills towards αk. Similarly, we call a define ti to be its priority in Q. We use induction on i to spill event Eαi diffluent, as the water spilling from αi at time prove that ti = ti when event Ei is processed. To do so, we tαi spills away from αk (αk is a sub-basin of αi). We define prove that the following holds after processing event Ei: Fβi to be the subtree of F rooted in βi, assuming αk is cho- sen as the root of F. Our algorithm proceeds in two phases. (i) Events E1,E2,...,Ei have been processed. No other t ,t ,...,t The confluent phase computes times β1 β2 βk .These events have been processed. t t E times satisfy βi = βi if βi is a watershed event and t ≥ t E ti βi βi if βi is a basin event. In addition, this phase (ii) Wα = Wα , for all active basins α ∈Mβ. constructs a list Lβi ,foreach1≤ i ≤ k, which is a su- perset of those tributaries of βi that belong to Fβ or spill (iii) ti+1 = ti+1, while tj ≥ tj , for all j>i+1. i into β across a saddle on the boundary of a basin βj ∈Fβi . t ,t ,...,t The base case is i = 0, setting t0 = 0. Property (i) holds The second, diffluent phase computes times α1 α2 αk t ,t ,...,t because no events have been processed yet. Property (ii) and β1 β2 βk from the times and potential tributary 0 holds because initially Wα = Wα, for every elementary basin lists computed in the confluent phase, and we prove that t t t t ≤ i ≤ k in Mβ, which is exactly the set of active basins at the begin- αi = αi and βi = βi , for all 1 . In the process, the R β ning of the procedure. To see that (iii) holds, observe that diffluent phase computes the list βi of tributaries of i,for tj = tj if Ej = Eτ , for some tributary τ of β.IfEj = Eα, every 1 ≤ i ≤ k. for α ∈Mβ,andα is inactive, then tj = ∞;ifα is active, Intuitively, this two-phase approach works because the 0 β then tj = Vα/Wα ≥ tj .Moreover,ifE1 = Eα,forsome confluent phase ensures that the spill times of all basins i 0 α ∈Mβ ,thenα has no tributaries and t1 = Vα/W = t . that are tributaries of other basins are computed correctly α 1 β For the inductive step, consider i>0 and assume the (since i can be a tributary only if its spill event is a water- α claim holds for all j 408 τ α t ≥ u t t u W W 0 V r V contains every tributary of with τ α,then α = α, βi := 0, βi := βi ,and βi := βi . Once this procedure L {τ ∈R | t ≥ u } β Q t and = α τ α . terminates, we insert i into βi , with priority βi . The confluent phase terminates when the traversal reaches Proof. First assume for the sake of contradiction that the root αk of F.SinceEα is a diffluent spill event, we t Insert, DeleteMin, Create,andMeld operations using Proof. First assume τ is a tributary of βi and βj ∈Fβi . O(sort(N)) I/Os. Then Eτ is a watershed event and either τ ∈Sβj or τ = βj . The processing of a node βi distinguishes two cases. If In both cases, we have tτ = tτ , in the latter case by the β Q t t i is a leaf, we create a new priority queue βi at the end assumption that βh = βh for every watershed event on the of the sequence of priority queues of active nodes. If βi path from βj to γ.Ifγ belongs to the path from βj to βi and is an internal node with children βj1 ,βj2 ,...,βjh ,thecor- γ = βi,thenwehavetγ = tγ 409 Now assume that τ is a tributary of a basin α ∈{αi,βi} ignore in iteration i all elements αj or βj in Q with j>i. and, if α = βi,thatβj ∈Fβi . Then, if γ belongs to the (Note that we ignore only these basins, not the elements of path from βj to αi,weobtaintγ = tγ 410 increasing elevation. Then the water from every tributary in We always keep the topmost M elements of this stack in R β β βi first collects in T (v1);once T (v1) is full, the water col- memory, which ensures in particular that the I/D buffer of β Q lects in T (v2), and so on. This is just a simplified version of k is in memory. the diffluent flow computation in Section 3.3.3, and comput- β ,β ,...,β ing the spill times of basins T (v1) T (v2) T (vk)—that 4.2 Operations is, the flooding times of vertices v1,v2,...,vk—from the list Create. To create a new priority queue Qk+1,aCreate op- Rβ takes O(sort(N)) I/Os in total for all basins of T .The eration pushes a new marker element onto the buffer stack. computation of the sets V (β) can be incorporated in the computation of the basins of T without increasing the I/O Insert. An Insert operation on Qk adds the inserted el- complexity of that phase. Details appear in the full paper. ement x to Qk’s I/D buffer. If the buffer now contains M Thus, we have the following result. elements, we Flush the buffer as described below. Then we Fill the I/D buffer with the M/2 minimum elements in Qk Theorem 2. The flooding times of all vertices of a ter- and update pk accordingly. rain T with N vertices and X pits can be computed using DeleteMin. A DeleteMin operation on Qk returns the O(sort(X)log(X/M)+sort(N)) I/Os, given the watersheds minimum element in Qk’s I/D buffer. Before doing so, how- and volumes of all basins of T . ever, it checks whether the I/D buffer of Qk is empty or its minimum element is greater than pk.Ifso,itFlushes 4. A MELDABLE PRIORITY QUEUE the I/D buffer and then FillsitwiththeM/2 minimum In this section, we discuss how to extend the external heap elements in Qk. of Fadel et al. [12] to obtain a meldable priority queue that Meld can be used in the procedure in Section 3.3.2. This struc- Meld. A operation behaves differently depending on the structure of the two involved priority queues, Qk−1 ture maintains a sequence of priority queues Q1,Q2,...,Qk Q under Create, Insert, DeleteMin,andMeld operations. and k. During different stages of its life time, a priority queue may have no external portion because all its elements Given the current sequence Q1,Q2,...,Qk,aCreate op- eration creates a new, empty priority queue Qk+1 and ap- fit in the I/D buffer. If at least one of the two priority Q pends it to the end of the sequence; an Insert(x)oper- queues, say k, has no external portion, we destroy its I/D buffer, and Insert its elements into Qk−1. If both prior- ation inserts element x into Qk;aDeleteMin operation ity queues have external portions, we Flush and destroy deletes and returns the minimum element in Qk;aMeld their I/D buffers, Merge their two trees as described be- operation replaces Qk−1 and Qk with a new priority queue Q Q ∪ Q Q low, and then Fill the I/D buffer of the merged priority k−1 := k−1 k containing the elements from k−1 and Q queue Qk−1 := Qk−1 ∪ Qk with the M/2 minimum elements k. We prove the following result. in Qk−1. Theorem 3. There exists a linear-space data structure Flush. A Flush operation of an I/D buffer containing K that uses O(sort(N)) I/Os to process a sequence of N Cre- elements creates a new leaf l at the leaf level and stores ate, Insert, DeleteMin,and Meld operations. these K elements in l. Then it applies a Heapify operation 4.1 The Structure to the path from l to the root to restore the heap property. If the addition of l increased the degree of l’s parent p to Q Each priority queue i is represented as an external heap M/B + 1, we split p into two nodes p and p ,eachwith similar to the one presented in [12]. The underlying struc- half of p’s children. We associate the buffer of p with p and ture is a rooted tree whose internal nodes have between populate the buffer of p with the M smallest elements in a M/ B b M/B = (4 )and = children. There are two types its subtree using a Fill operation. If this split increases the of leaves: regular leaves are on the lowest level of the tree, degree of p’s parent to M/B + 1, we apply this rebalancing which we call the leaf level; leaves above the leaf level are procedure recursively until we reach the root. If the root has special. degree greater than M/B, we split it into two nodes with a v X v Every node has an associated buffer v.If is an new parent. internal node, Xv has size M.Ifv is a leaf, there is no bound on the size of Xv. The elements in Xv are sorted, Fill. A Fill operation applied to a node v repeatedly takes and the buffer contents of adjacent nodes satisfy the heap the smallest element stored in the buffers of v’s children, re- property: for every node v with parent u and every pair of moves it from the corresponding child’s buffer and stores it elements x ∈ Xu and y ∈ Xv,wehavex ≤ y. in v’s buffer. This continues until M elements have been col- To support Insert and DeleteMin operations efficiently, lected in v’s buffer or there are no elements left in the buffers every priority queue Qi is equipped with an insert/delete of v’s children. Whenever a child buffer runs empty while buffer or I/D buffer for short. This buffer is capable of filling v’s buffer, its buffer is filled recursively before continu- holding up to M elements and stores the minimum elements ing to fill v’s buffer. Once there are no more elements left in in Qi as well as newly inserted elements. To distinguish anodev’s subtree, we mark v as exhausted,inordertoavoid newly inserted elements in Qi’s I/D buffer from minimum repeatedly trying to fill v with elements. More precisely, a elements, Qi has an associated priority pi, which is the min- node is marked as exhausted once its buffer becomes empty imum priority of the elements stored in the external part and all its children are exhausted. To fill the I/D buffer of of Qi. a priority queue Qk with the M/2 smallest elements in Qk, The I/D buffers of priority queues Q1,Q2,...,Qk are kept we transfer the M/2 smallest elements from the root of Qk on a buffer stack,withthebufferofQ1 at the bottom and into the I/D buffer, Filling the root’s buffer whenever it the buffer of Qk at the top. The I/D buffers of consecutive runs empty. If the root becomes exhausted in the process, priority queues are separated by special marker elements. we delete the entire external portion of the priority queue. 411 Merge. A Merge operation between two trees T1 and T2 [3] L. Arge. The buffer tree: A technique for designing of heights h1 >h2 proceeds as follows. We locate a node v batched external data structures. Algorithmica, at height h2 +1 in T1 and make the root r2 of T2 a child 37(1):1–24, 2003. of v. We also create a new special leaf node l that is a child [4] L. Arge, J. Chase, P. Halpin, L. Toma, D. Urban, J. S. of v.Nowletv = v0,v1,...,vh be the ancestors of v,by Vitter, and R. W. and. Flow computation on massive increasing distance fromP v,letKi be the number of elements grid terrains. In Proc. 9th ACM GIS, pp. 82–87, 2001. X K h K in vi ,andlet = i=0 i. First we collect the elements [5] L. Arge and M. Revsbæk. I/O-efficient contour tree X ,X ,...,X l in v0 v1 vh in sorted order and store them in . simplification. In Proc. 20th ISAAC, pp. 1155–1165, X Then we repeatedly remove the minimum element from r2 2009. X X and l, refilling r2 as necessary, until we have collected [6]Y.-J.Chiang,M.T.Goodrich,E.F.Grove, K r l the smallest elements in the subtrees rooted at 2 and . R. Tamassia, D. E. Vengroff, and J. S. Vitter. X ,X ,...,X We store these elements in buffers v0 v1 vh ,sorted External-memory graph algorithms. In Proc. 6th v K top-down and so that each node i receives i elements. We SODA, pp. 139–149, 1995. v ,v ,...,v clear the“exhausted”labels of all nodes among 0 1 h. [7] A. Danner. I/O Efficient Algorithms and Applications v M/ If has degree greater than 2 as a result of gaining two in Geographic Information Systems. PhD thesis, Dept. r l children, 2 and , we rebalance the tree using node splits of Comp. Sci., Duke University, 2006. starting at v similar to the rebalancing done after a Flush [8]A.Danner,K.Yi,T.Mølhave,P.K.Agarwal,L.Arge, operation. and H. Mitasova. TerraStream: From elevation data Heapify. The final operation to discuss is the Heapify op- to watershed hierarchies. Manuscript, 2007. eration. Given a node v and its path v = v0,v1,...,vh to the [9] M. de Berg, O. Cheong, H. Haverkort, J.-G. Lim, and root, a Heapify operation ensures that the elements stored L. Toma. I/O-efficient flow modelling on fat terrains. on the path satisfy the heap property. It assumes that the In Proc. 10th WADS, pp. 239–250, 2007. elements in v1,v2,...,vh already do so, but some elements [10] H. Edelsbrunner, J. Harer, and A. Zomorodian. in v0 may be less than elements stored at higher nodes. To Hierarchical morse complexes for piecewise linear restore the heap property, we sort the elements in v0 and col- 2-manifolds. In Proc. 17th SCG, pp. 70–79, 2001. lect the elements in v1,v2,...,vh in sorted order. Then we [11] H. Edelsbrunner, D. Letscher, and A. Zomorodian. merge the two sorted sequences to obtain a sorted sequence Topological persistence and simplification. In Proc. of the elements stored in v0,v1,...,vh and distribute these 41st FOCS, pp. 454–463, 2000. v ,v ,...,v elements over the buffers of nodes 0 1 h, assigning [12] R. Fadel, K. V. Jakobsen, J. Katajainen, and the same number of elements to each node as it had before J. Teuhola. Heaps and heapsort on secondary storage. the operation and storing the elements sorted top-down on Theor. Comp. Sci., 220(2):345–362, 1999. the path. If some of the nodes on the path were marked as [13] S. Jenson and J. Domingue. Extracting topographic exhausted before this operation, we unmark them. structure from digital elevation data for geographic 4.3 Analysis information system analysis. Photogrammetric Eng. and Remote Sensing, 54(11):1593–1600, 1988. To prove the correctness of all priority queue operations, [14] Y. Liu and J. Snoeyink. Flooding triangulated terrain. we need to verify that the heap property is maintained at all In Proceedings of the 11th International Symposium on times. This is little more than an exercise and is therefore Spatial Data Handling, pages 137–148, 2005. omitted. It is easy to see that every Create, Insert, DeleteMin, [15] J. F. O’Callaghan and D. M. Mark. The extraction of and Meld operation makes only O(1) changes to the buffer drainage networks from digital elevation data. stack and thus has an amortized cost of O(1/B)I/Os,ex- Computer Vision, Graphics and Image Proc., cluding the manipulations performed by the Flush, Fill, 28(3):323–344, 1984. Merge,andHeapify operations they trigger. The follow- [16] O. Palacios-Velez, W. Gandoy-Bernasconi, and ing two lemmas bound the cost of all Flush, Fill, Merge, B. Cuevas-Renaud. Geometric analysis of surface and Heapify operations performed during a sequence of N runoff and the computation order of unit elements in priority queue operations. Due to lack of space, their proofs distributed hydrological models. J. Hydrology, are omitted. 211:266–274, 1998. [17] D. M. Theobald and M. F. Goodchild. Artifacts of Lemma 8. During a sequence of N priority queue opera- TIN-based surface flow modeling. In Proc. tions, at most O(N/M) Flush, Fill, Merge,andHeapify GIS/LIS’90, pp. 955–964, 1990. operations are performed. [18] G. Tucker, S. Lancaster, N. Gasparini, and S. Rybarczyk. An object-oriented framework for Lemma 9. The amortized cost per Flush, Fill, Merge Heapify M/B N/M hydrology and geomorphic modeling using or operation is O(( )logM/B( )) I/Os. triangulated irregular networks. Computers and Geosciences, 27(8):959–973, 2001. 5. REFERENCES [1] P. Agarwal, L. Arge, and K. Yi. I/O-efficient batched union-find and its applications to terrain analysis. In Proc. 22nd SCG, pp. 167–176, 2006. [2] A. Aggarwal and J. S. Vitter. The input/output complexity of sorting and related problems. Comm. of the ACM, 31(9):1116–1127, 1988. 412 Cache-Oblivious Dynamic Dictionaries with Update/Query Tradeoffs Gerth Stølting Brodal∗† Erik D. Demaine‡† Jeremy T. Fineman‡§ John Iacono¶ Stefan Langerman J. Ian Munro∗∗ Abstract dictionary problem in the cache-oblivious model. Several existing cache-oblivious dynamic dictionaries Memory models. The external-memory (or I/O) model N achieve O(logB N) (or slightly better O(logB )) mem- [1] is the original model of a two-level memory hierarchy. M M ory transfers per operation, where N is the number of This model consists of an internal memory of size and a items stored, M is the memory size, and B is the disk storing all remaining data. The algorithm can transfer B block size, which matches the classic B-tree data struc- contiguous blocks of data of size to or from disk at unit ture. One recent structure achieves the same query cost. The textbook data structure in this model is the B- bound and a sometimes-better amortized update bound tree [2], a dynamic dictionary that supports inserts, deletes, 1 1 2 and predecessor queries in O(logB N) memory transfers per of O 2 log N + log N memory trans- BΘ(1/(log log B) ) B B operation. fers. This paper presents a new data structure, the xDict, The cache-oblivious model [9, 10] arose in particular O 1 N implementing predecessor queries in ( ε logB M ) worst- from the need to model multi-level memory hierarchies. The case memory transfers and insertions and deletions in 1 N premise is simple: analyze a data structure or algorithm just O −ε log εB1 B M amortized memory transfers, for any as in the external-memory model, but the data structure or ε <ε< constant with 0 1. For example, the xDict algorithm is not explicitly parametrized by M or B. Thus N achieves subconstant amortized update cost when = the analysis holds for an arbitrary M and B, in particular all MBo(B1−ε) N , whereas the B-tree’s Θ(logB M ) is subcon- the M’s and B’s encountered at each level of the memory N o MB stant only when = ( ), and the previously ob- hierarchy. The algorithm could not and fortunately does 1 N 1 2 N tained Θ / B 2 logB + B log is subcon- not have to worry about the block replacement strategy BΘ(1 (log log ) )√ B because the optimal strategy can be simulated with constant stant only when N = o(2 ). The xDict attains the optimal overhead. This lack of parameterization has let algorithm tradeoff between insertions and queries, even in the broader designers develop elegant solutions to problems by finding external-memory model, for the range where inserts cost be- ε the best ways to enforce data locality. tween Ω( 1 lg1+ N) and O(1/ lg3 N) memory transfers. B Comparison of cache-oblivious dictionaries. Refer to Table 1. In the cache-oblivious model, Prokop’s static search 1 Introduction structure [10] was the first to support predecessor searches in This paper presents a new data structure, the xDict, which O(logB N) memory transfers, but it does not support inser- is the asymptotically best data structure for the dynamic- tion or deletion. Cache-oblivious B-trees [3, 4, 7] achieve O(logB N) memory transfers for insertion, deletion, and ∗Department of Computer Science, Aarhus University, IT-parken, search. The shuttle tree [5] supports insertions and dele- Abogade˚ 34, DK-8200 Arhus˚ N, Denmark, [email protected] O 1 log N + 1 log2 N † tions in amortized BΘ(1/(log log B)2) B B Supported in part by MADALGO — Center for Massive Data Algo- N rithmics — a Center of the Danish National Research Foundation. memory transfers, which is an improvement over Θ(logB ) ‡ o(B/ log B) MIT Computer Science and Artificial Intelligence Laboratory, 32 Vas- for N =2 , while preserving the O(logB N) query sar St., Cambridge, MA 02139, USA, [email protected], jfineman@cs. bound.1 Our xDict reduces the insertion and deletion bounds cmu.edu O 1 N <ε≤ § further to εB1−ε logB M , for any constant 0 1, Supported in part by NSF Grants CCF-0541209 and CCF-0621511, and under the tall-cache assumption (common to many cache- Computing Innovation Fellows. ¶ M B2 Department of Computer Science and Engineering, Polytechnic Insti- oblivious algorithms) that =Ω( ). For all of these data tute of New York University, 5 MetroTech Center, Brooklyn, NY 11201, structures, the query bounds are worst case and the update USA, http://john.poly.edu bounds are amortized. Maˆıtre de recherches du F.R.S.-FNRS, Computer Science Department, Universite´ Libre de Bruxelles, CP212, Boulevard du Triomphe, 1050 Bruxelles, Belgium, [email protected] ∗∗ 1 Cheriton School of Computer Science, University of Waterloo, Water- For these previous data structures, the logB N terms may well reduce N N loo, Ontario N2L 3G1, Canada, [email protected] to logB M terms, but only logB was explicitly proven. 1448 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. Data Structure Search Insert/Delete static search [10] O(logB N) not supported B-trees [3, 4, 7] O(logB N) O(logB N) 1 1 2 shuttle tree [5] O(log N) O 2 log N + log N B BΘ(1/(log log B) ) B B O 1 N ⇒ 1 N lower bound [6] ( ε logB M )=Ω εB1−ε logB M O 1 N O 1 N xDict [this paper] ( ε logB M ) εB1−ε logB M Table 1: Summary of known cache-oblivious dictionaries. Our xDict uses the tall-cache assumption that M =Ω(B2). Lower bounds. The tradeoff between insertion and the input and output buffers, with no recursive subboxes or search costs was partly characterized in the external- middle buffer. memory model [6]. Because any algorithm in the cache- Logically, the upper-level subboxes are children of the oblivious model is also an algorithm in the external- input buffer and parents of the middle buffer. Similarly, the memory model using the same number of memory trans- lower-level subboxes are children of the middle buffer and fers, lower bounds for the external-memory model carry parents of the output buffer. However, the buffers and sub- over to the cache-oblivious model. Brodal and Fagerberg boxes do not necessarily form a tree structure. Specifically, [6] proved that any structure supporting insertions in I = for an x-box D, there are pointers from D’s input buffer O 1 N/M εB1−ε logB( ) amortized memory transfers, when to the input buffers of its upper-level subboxes. Moreover, 1 1+ε 3 D I is between Ω( B lg N) and O(1/ lg N) and when N ≥ there may be many pointers from ’s input buffers to a sin- 2 1 M , must use Ω( ε logB(N/M)) worst-case memory trans- gle subbox. There are also pointers from the output buffers fers for search. They also produced a data structure achiev- of the upper-level subboxes to D’s middle buffer. Again, ing this tradeoff, but their structure is not cache-oblivious, there may be many pointers originating from a single sub- using knowledge of the parameters B and M. The xDict box. Similarly, there are pointers from D’s middle buffer to structure achieves the same tradeoff in the cache-oblivious its lower-level subboxes’ input buffers, and from the lower- model, and is therefore optimal for this range of insertion level subboxes’ output buffers to D’s output buffers. cost I. Slightly outside this range, the optimal bounds are The number of subboxes in each level has been chosen not known, even in the external-memory model. to match the buffer sizes. Specifically, the total size of the input buffers of all subboxes in the upper level is at most 1 x1/2 · x1/2 1 x 2 Introducing the x-box 4 = 4 , which is a constant factor of the size of x Our xDict dynamic-dictionary data structure is built in terms the -box’s input buffer. Similarly, the total size of the upper- 1 x1/2 ·(x1/2)1+α = of another structure called the x-box. For any positive inte- level subboxes’ output buffers is at most 4 1 x1+α/2 x ger x,anx-box supports a batched version of the dynamic- 4 , which matches the size of the -box’s middle dictionary problem (defined precisely later) in which ele- buffer. The total size of the lower-level subboxes’ input and 1 x1/2+α/2 · x1/2 1 x1+α/2 ments are inserted in batches of Θ(x). Each x-box will be output buffers are at most 4 = 4 and 1 x1/2+α/2 · x1/2 1+α 1 x1+α defined recursively in terms of y-boxes for y 1449 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. Figure 1: The recursive structure of an x-box. The arrows represent lookahead pointers. These lookahead pointers are evenly distributed in the target buffer, but not necessarily in the source buffer. Additional pointers (not shown) allow us to find the nearest lookahead pointer(s) in O(1) memory transfers. The white space at the right of the buffers indicates empty space, allowing for future insertions. Buffer Size per buffer Number of buffers Total size Top buffer x 1 x x1/2 1 x1/2 1 x Top buffer 4 4 x1/2 1+α/2 1 x1/2 1 x1+α/4 Middle buffer ( ) 4 4 x1/2 1+α 1 x1/2 1 x1+α/2 Bottom buffer ( ) 4 4 Middle buffer x1+α/2 1 x1+α/2 x1/2 1 x1/2+α/2 1 x1+α/2 Top buffer 4 4 x1/2 1+α/2 1 x1/2+α/2 1 x1+3α/4 Middle buffer ( ) 4 4 x1/2 1+α 1 x1/2+α/2 1 x1+α Bottom buffer ( ) 4 4 Bottom buffer x1+α 1 x1+α Table 2: Sizes of buffers in an x-box. This table lists the sizes of the three buffers in an x-box and the sizes and number of buffers in its recursive x1/2-boxes, expanding just one level of recursion. means is that an element with a particular key may be located from the lower-level subboxes to D’s output buffer. in the input buffer or the middle buffer or the output buffer To aid in pushing elements down to the appropriate sub- or a particular upper-level subbox or a particular lower-level boxes, we embed in the input (and middle) buffers a pointer subbox. Our search procedure will thus look in all five of to each of the upper-level (and lower-level) subboxes. These these locations to locate the element in question. subbox pointers are embedded into the buffers by associating Before delving into more detail about the x-boxes, let with them the minimum key stored in the corresponding sub- us first give a rough sketch of insertions into the data struc- box, and then storing them along with the buffer’s elements ture. When an element is inserted into an x-box D,itis in sorted order by key. first inserted into D’s input buffer. As the input buffer stores To facilitate searches, we employ the technique of frac- elements in sorted order, elements in the input buffer must tional cascading [8], giving an x-box’s input buffer (and move to the right to accommodate newly inserted elements. middle buffer) a sample of the elements of the upper-level When D’s input buffer becomes full (or nearly full), the subboxes’ (and lower-level subboxes’) input buffers. Specif- elements are inserted recursively into D’s upper-level sub- ically, let U be an upper-level subbox of the x-box D. Then boxes. When an upper-level subbox becomes full enough, a constant fraction of the keys stored in U’s input buffer are it is “split” into two subboxes, with one subbox taking the also stored in D’s input buffer. This sampling is performed half of the elements with smaller keys and the other taking deterministically by placing every sixteenth element in U’s the elements with larger keys. When the maximum number input buffer into D’s input buffer. The sampled element (in of upper-level subboxes is reached, all elements are moved D’s input buffer) has a pointer to the corresponding element from the upper-level subboxes to D’s middle buffer (which in U’s input buffer. This type of pointer also occurs in [5], stores all elements in sorted order). When the middle buffer where they are called “lookahead pointers.” We adopt the becomes full enough, elements are moved to the lower-level same term here. This sampling also occurs on the output subboxes in a similar fashion. When the maximum number buffers. Specifically, the output buffers of the upper-level of lower-level subboxes is reached, all elements are moved (and lower-level) subboxes contain a similar sample of the 1450 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. elements in D’s middle buffer (and output buffer).2 5. The middle buffer. The advantage of lookahead pointers is roughly as fol- lows. Suppose we are looking for a key κ in some buffer A. 6. Array of booleans indicating which lower-level sub- Let s be the multiple of 16 (i.e., a sampled element) such that boxes are being used. A s ≤ κ 1451 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. 1 x1+α 2 space in the output buffer to store external lookahead creating subboxes as necessary, and placing the appro- pointers (i.e., lookahead pointers into a buffer in the contain- priate lookahead pointers. The SAMPLE-UP operation ing x2-box). is an auxiliary operations used by BATCH-INSERT. 4.1 SEARCH. Searches are easiest. The operation 4.3 FLUSH. To F LUSH an x-box, first flush all the sub- SEARCH(D, s, κ) starts by scanning D’s input buffer at slot boxes. Now consider the result. Elements can live in only s and continues until reaching an element with key κ or un- five possible places: the input buffer, the middle buffer, the til reaching slot s where the key at s is larger than κ.By output buffer, the upper-level subboxes’ output buffers, and assumption on lookahead pointers, this scan considers O(1) the lower-level subboxes’ output buffers. The elements are array slots. If the scan finds an element with key κ, then we in sorted order in all of the buffers. Moreover, as the upper- are done. Otherwise, we consider the nearest lookahead or level (and lower-level) subboxes partition the key space, the subbox pointer preceding slot s − 1. We follow this pointer collection of upper-level subboxes’ output buffers form a and search recursively in the corresponding subbox. That re- fragmented sorted list of elements. Thus, after flushing all cursive search returns a pointer in the subbox’s output buffer. subboxes, moving all elements to the output buffer requires We again reference the nearest lookahead pointer and jump just a 5-way merge into the output buffer. A constant-way to a point in the middle buffer. This process continues, scan- merge can be performed in a linear number of memory trans- ning a constant-size region in middle buffer, searching re- fers in general, but here we have to deal with the fact that cursively in the lower-level subbox, and scanning a constant- upper-level and lower-level subboxes represent fragmented size region in the output buffer. lists, requiring random accesses to jump from the end of one output buffer to the beginning of another. LEMMA 4.1. For x>B,aSEARCH in an x-box costs When merging all the elements into the output buffer, O((1 + α) logB x) memory transfers. we merge only real elements, not lookahead pointers (except for the lookahead pointers that already occur in the output Proof. The search considers a constant-size region in the buffer). This step breaks the sampling structure of the data O three buffers, for a total of (1) memory transfers, and per- structure, which we will later resolve with the SAMPLE-UP forms two recursive searches. Thus, the cost of√ a search can procedure. S x S x O be described by the recurrence ( )=2 ( )+ (1). When the flush completes, the input and middle buffers x1+α O B x O B1/(1+α) Once = ( ), or equivalently = ( ), are entirely empty, and all subboxes are deleted.3 an entire x-box fits in a block, and no further recursions α incur any other cost. Thus, we have a base case of LEMMA 4.2. For x1+ >B,aFLUSH in an x-box costs / α S(O(B1 (1+ )))=0. O(x1+α/B) memory transfers. The recursion therefore proceeds with a nonzero cost for lg lg x − lg lg O(B1/(1+α)) levels, for a total of Proof. We can describe the flush by the recurrence lg lg x−lg lg O(B1/(1+α)) 2 =(1+α)lgx/ lg O(B)=O((1 + √ 1+α 1/2+α/2 1 1/2+α/2 α) logB x) memory transfers. F (x)=O(x /B)+O(x )+ x F ( x) , 2 4.2 BATCH-INSERT overview. For clarity, we decom- where the first term arises due to scanning all the buffers pose BATCH-INSERT into several operations, including two (i.e., the 5-way merge), the second term arises from the new auxiliary operations: random accesses both to load the first block of any of the subboxes and to jump when scanning the concatenated list of 1. FLUSH(D): After this operation, all k elements in the output buffers, and the third term arises due to the recursive x-box D are located in the first Θ(k) slots of D’s output flushing. When x1+α = O(M), the second term disappears buffer. These elements occur in sorted order. All other as the entire x-box fits in memory, and we thus need only buffers and recursive subboxes are emptied, temporarily pay for loading each block once. When applying a tall- leaving the D without any internal lookahead pointers cache assumption that M =Ω(B2), it follows that the (to be fixed later by a call SAMPLE-UP). The Θ() arises second term only occurs when x1/2+α/2 =Ω(B), and because of the presence of lookahead pointers directed hence when x1/2+α/2 = x1+α/x1/2+α/2 = x1+α/Ω(B)= from the output buffer. The FLUSH operation is an O(x1+α/B). We thus have a total cost of auxiliary operation used by the BATCH-INSERT. 1 √ F (x) ≤ c x1+α/B + x1/2+α/2F ( x) , 2. SAMPLE-UP(D): This operation may only be invoked 1 2 on an x-box that is entirely empty except for its out- put buffer (as with one that has just been FLUSHed). 3In fact, the subboxes use a fixed memory footprint, so they are simply The sampling process is employed from the bottom up, marked as deleted. 1452 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. where c1 is a constant hidden by the order notation. performing a recursive insert would cause the number of α √ 1+α We next prove that F (x) ≤ cx1+ /B by induction. As (real) elements in the subbox to exceed (1/2) x , first 1+α a base case, when y fits in memory, the cost is F (y)= “split” the subbox. A “split” entails first FLUSHing the α cy1+ /B as already noted, to load each block into memory subbox, creating a new subbox, moving the larger half of once. Applying the inductive hypothesis that F (y) ≤ the elements from the old subbox’s output buffer to the new α cy1+ /B for some sufficiently large constant c and y 1453 Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. 1+α/2 THEOREM 4.1. A BATCH-INSERT into an x-box, with x> x /B LowerRA(x) O + O B, costs an amortized O((1 + α) log (x)/B1/(1+α)) mem- x1+α/2 x1+α/2 B √ ory transfers per element. √ F ( x) + I( x)+O x1/2+α/2 Proof. An insert has several costs per element. First, there √ is the cost of merging into the input array, which is simply 1 x1/2+α/2F ( x) x1+α/B + O 4 + O O(1/B) per element. Next, each element is inserted recur- x1+α x1+α sively into a top-level subbox. These recursive insertions en- UpperRA(x) tail random accesses to load the first block of each of the sub- = O(1/B)+O x boxes. Then these subboxes must be sampled, which is dom- √ inated by the cost of the aforementioned random accesses LowerRA(x) F ( x) + O + O and scans. An element may also contribute to a split of a sub- x1+α/2 x1/2+α/2 box, but each split may be amortized against Ω(x1/2+α/2) √ +2I( x) insertions. Then we must also consider the cost of moving = O(1/B)+O(1/B1/(1+α))+O(1/B1/(1+α)) elements from the upper-level subboxes to the middle buffer, but this movement may be amortized against the Ω(x1+α/2) x1/2+α/2/B √ + O +2I( x) elements being moved. Finally, there are similar costs among x1/2+α/2 the lower-level subboxes. √ = O(1/B1/(1+α))+2I( x) Let us consider the cost of the random accesses more closely. If all of the upper-level subboxes fit into mem- As we charge loading the first block of a sub- ory, then the cost of random accesses is actually the mini- box to an insert into the parent, we have a base mum of performing the random accesses or loading the en- / α case of I(O(B1 (1+ )) = 0, i.e., when the x- tire upper-level into memory. For the upper-level, we denote UpperRA x UpperRA x box fits into a single block. Solving the recur- this value by ( ). We thus have ( )= O /B1/(1+α) O 1 x1/2 x1+α/2 M UpperRA x rence, we get a per element cost of (1 ) at ( 4 ) if =Ω( ), and ( )= x − O B1/(1+α) 1 1/2 1+α/2 1+α/2 lg lg lg lg ( ) levels of recursion, and hence O(min x ,x /B ) if x = O(M). In fact, 1/(1+α) 4 a total cost of O(2lg lg x−lg lg O(B )/B1/(1+α))= we are really concerned with UpperRA(x)/x, as the ran- O (1+α)lgx O α x /B1/(1+α) dom accesses can be amortized against the x elements in- B1/(1+α) lg O(B) = ((1 + ) logB( ) ). serted. We analyze the two cases separately, and we assume M>B2 the tall-cache assumption that . 5 Building a dictionary out of x-boxes x1+α/2 M N 1. Suppose that =Ω( ). Then we have The xDict data structure consists of log1+α log2 +1 x1+α/2 =Ω(B2) by the tall-cache assumption, x-boxes of doubly increasing size, where α is the same 1/2 2/(2+α) and hence x =Ω(√B ). It follows that parameter for the underlying x-boxes. Specifically, for 0 ≤ UpperRA x /x O / x O /B2/(2+α i ≤ N i x (1+α)i ( ) = (1 )= (1 ). log1+α log2 , the th box has =2 . The α/ x-boxes are linked together by incorporating into the ith 2. Suppose that x1+ 2 = O(M). We have two subcases / α box’s output buffer the lookahead pointers corresponding to here. If x>B2 (1+ ), then we have a cost of at most / / α a sample from the (i +1)st box’s input buffer. UpperRA(x)/x = O(x1 2/x)=O(1/B1 (1+ )). / α We can define the operations on an xDict in terms of If, on the other hand, x