Hypersuccinct Trees – New Universal Tree Source Codes for Optimal Compressed Tree Data Structures and Range Minima
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Cache Oblivious Search Trees Via Binary Trees of Small Height
Cache Oblivious Search Trees via Binary Trees of Small Height Gerth Stølting Brodal∗ Rolf Fagerberg∗ Riko Jacob∗ Abstract likely to increase in the future [13, pp. 7 and 429]. We propose a version of cache oblivious search trees As a consequence, the memory access pattern of an which is simpler than the previous proposal of Bender, algorithm has become a key component in determining Demaine and Farach-Colton and has the same complex- its running time in practice. Since classic asymptotical ity bounds. In particular, our data structure avoids the analysis of algorithms in the RAM model is unable to use of weight balanced B-trees, and can be implemented capture this, a number of more elaborate models for as just a single array of data elements, without the use of analysis have been proposed. The most widely used of pointers. The structure also improves space utilization. these is the I/O model of Aggarwal and Vitter [1], which For storing n elements, our proposal uses (1 + ε)n assumes a memory hierarchy containing two levels, the times the element size of memory, and performs searches lower level having size M and the transfer between the in worst case O(logB n) memory transfers, updates two levels taking place in blocks of B elements. The in amortized O((log2 n)/(εB)) memory transfers, and cost of the computation in the I/O model is the number range queries in worst case O(logB n + k/B) memory of blocks transferred. This model is adequate when transfers, where k is the size of the output. -
Lecture 04 Linear Structures Sort
Algorithmics (6EAP) MTAT.03.238 Linear structures, sorting, searching, etc Jaak Vilo 2018 Fall Jaak Vilo 1 Big-Oh notation classes Class Informal Intuition Analogy f(n) ∈ ο ( g(n) ) f is dominated by g Strictly below < f(n) ∈ O( g(n) ) Bounded from above Upper bound ≤ f(n) ∈ Θ( g(n) ) Bounded from “equal to” = above and below f(n) ∈ Ω( g(n) ) Bounded from below Lower bound ≥ f(n) ∈ ω( g(n) ) f dominates g Strictly above > Conclusions • Algorithm complexity deals with the behavior in the long-term – worst case -- typical – average case -- quite hard – best case -- bogus, cheating • In practice, long-term sometimes not necessary – E.g. for sorting 20 elements, you dont need fancy algorithms… Linear, sequential, ordered, list … Memory, disk, tape etc – is an ordered sequentially addressed media. Physical ordered list ~ array • Memory /address/ – Garbage collection • Files (character/byte list/lines in text file,…) • Disk – Disk fragmentation Linear data structures: Arrays • Array • Hashed array tree • Bidirectional map • Heightmap • Bit array • Lookup table • Bit field • Matrix • Bitboard • Parallel array • Bitmap • Sorted array • Circular buffer • Sparse array • Control table • Sparse matrix • Image • Iliffe vector • Dynamic array • Variable-length array • Gap buffer Linear data structures: Lists • Doubly linked list • Array list • Xor linked list • Linked list • Zipper • Self-organizing list • Doubly connected edge • Skip list list • Unrolled linked list • Difference list • VList Lists: Array 0 1 size MAX_SIZE-1 3 6 7 5 2 L = int[MAX_SIZE] -
Order Types and Structure of Orders
ORDER TYPES AND STRUCTURE OF ORDERS BY ANDRE GLEYZALp) 1. Introduction. This paper is concerned with operations on order types or order properties a and the construction of order types related to a. The reference throughout is to simply or linearly ordered sets, and we shall speak of a as either property or type. Let a and ß be any two order types. An order A will be said to be of type aß if it is the sum of /3-orders (orders of type ß) over an a-order; i.e., if A permits of decomposition into nonoverlapping seg- ments each of order type ß, the segments themselves forming an order of type a. We have thus associated with every pair of order types a and ß the product order type aß. The definition of product for order types automatically associates with every order type a the order types aa = a2, aa2 = a3, ■ ■ ■ . We may further- more define, for all ordinals X, a Xth power of a, a\ and finally a limit order type a1. This order type has certain interesting properties. It has closure with respect to the product operation, for the sum of ar-orders over an a7-order is an a'-order, i.e., a'al = aI. For this reason we call a1 iterative. In general, we term an order type ß having the property that ßß = ß iterative, a1 has the following postulational identification: 1. a7 is a supertype of a; that is to say, all a-orders are a7-orders. 2. a1 is iterative. -
[Type the Document Title]
International Journal of Engineering Science Invention (IJESI) ISSN (Online): 2319 – 6734, ISSN (Print): 2319 – 6726 www.ijesi.org || PP. 31-35 Parallel and Nearest Neighbor Search for High-Dimensional Index Structure of Content-Based Data Using Dva-Tree A.RosiyaSusaiMary1, Dr.R.Suguna 2 1(Department of Computer Science, Theivanai Ammal College for Women, India) 2(Department of Computer Science, Theivanai Ammal College for Women, India) Abstract: We propose a parallel high-dimensional index structure for content-based information retrieval so as to cope with the linear decrease in retrieval performance. In addition, we devise data insertion, range query and k-NN query processing algorithms which are suitable for a cluster-based parallel architecture. Finally, we show that our parallel index structure achieves good retrieval performance in proportion to the number of servers in the cluster-based architecture and it outperforms a parallel version of the VA-File. To address the demanding search needs caused by large-scale image collections, speeding up the search by using distributed index structures, and a Vector Approximation-file (DVA-file) in parallel. Keywords: Distributed Indexing Structure, High Dimensionality, KNN- Search I. Introduction The need to manage various types of large scale data stored in web environments has drastically increased and resulted in the development of index mechanism for high dimensional feature vector data about such a kinds of multimedia data. Recent search engine for the multimedia data in web location may collect billions of images, text and video data, which makes the performance bottleneck to get a suitable web documents and contents. Given large image and video data collections, a basic problem is to find objects that cover given information need. -
Handout from Today's Lecture
MA532 Lecture Timothy Kohl Boston University April 23, 2020 Timothy Kohl (Boston University) MA532 Lecture April 23, 2020 1 / 26 Cardinal Arithmetic Recall that one may define addition and multiplication of ordinals α = ot(A, A) β = ot(B, B ) α + β and α · β by constructing order relations on A ∪ B and B × A. For cardinal numbers the foundations are somewhat similar, but also somewhat simpler since one need not refer to orderings. Definition For sets A, B where |A| = α and |B| = β then α + β = |(A × {0}) ∪ (B × {1})|. Timothy Kohl (Boston University) MA532 Lecture April 23, 2020 2 / 26 The curious part of the definition is the two sets A × {0} and B × {1} which can be viewed as subsets of the direct product (A ∪ B) × {0, 1} which basically allows us to add |A| and |B|, in particular since, in the usual formula for the size of the union of two sets |A ∪ B| = |A| + |B| − |A ∩ B| which in this case is bypassed since, by construction, (A × {0}) ∩ (B × {1})= ∅ regardless of the nature of A ∩ B. Timothy Kohl (Boston University) MA532 Lecture April 23, 2020 3 / 26 Definition For sets A, B where |A| = α and |B| = β then α · β = |A × B|. One immediate consequence of these definitions is the following. Proposition If m, n are finite ordinals, then as cardinals one has |m| + |n| = |m + n|, (where the addition on the right is ordinal addition in ω) meaning that ordinal addition and cardinal addition agree. Proof. The simplest proof of this is to define a bijection f : (m × {0}) ∪ (n × {1}) → m + n by f (hr, 0i)= r for r ∈ m and f (hs, 1i)= m + s for s ∈ n. -
Parallel and Nearest Neighbor Search for High-Dimensional Index Structure of Content- Based Data Using DVA-Tree R
International Journal of Scientific Research and Review ISSN NO: 2279-543X Parallel and Nearest Neighbor search for high-dimensional index structure of content- based data using DVA-tree R. ROSELINE1, Z.JOHN BERNARD2, V. SUGANTHI3 1’2Assistant Professor PG & Research Department of Computer Applications, St Joseph’s College Of Arts and Science, Cuddalore. 2 Research Scholar, PG & Research Department of Computer Science, St Joseph’s College Of Arts and Science, Cuddalore. Abstract We propose a parallel high-dimensional index structure for content-based information retrieval so as to cope with the linear decrease in retrieval performance. In addition, we devise data insertion, range query and k-NN query processing algorithms which are suitable for a cluster-based parallel architecture. Finally, we show that our parallel index structure achieves good retrieval performance in proportion to the number of servers in the cluster-based architecture and it outperforms a parallel version of the VA-File. To address the demanding search needs caused by large-scale image collections, speeding up the search by using distributed index structures, and a Vector Approximation-file (DVA-file) in parallel Keywords: KNN- search, distributed indexing structure, high Dimensionality 1. Introduction The need to manage various types of large scale data stored in web environments has drastically increased and resulted in the development of index mechanism for high dimensional feature vector data about such a kinds of multimedia data. Recent search engine for the multimedia data in web location may collect billions of images, text and video data, which makes the performance bottleneck to get a suitable web documents and contents. -
Top Tree Compression of Tries∗
Top Tree Compression of Tries∗ Philip Bille Pawe lGawrychowski Inge Li Gørtz [email protected] [email protected] [email protected] Gad M. Landau Oren Weimann [email protected] [email protected] Abstract We present a compressed representation of tries based on top tree compression [ICALP 2013] that works on a standard, comparison-based, pointer machine model of computation and supports efficient prefix search queries. Namely, we show how to preprocess a set of strings of total length n over an alphabet of size σ into a compressed data structure of worst-case optimal size O(n= logσ n) that given a pattern string P of length m determines if P is a prefix of one of the strings in time O(min(m log σ; m + log n)). We show that this query time is in fact optimal regardless of the size of the data structure. Existing solutions either use Ω(n) space or rely on word RAM techniques, such as tabulation, hashing, address arithmetic, or word-level parallelism, and hence do not work on a pointer machine. Our result is the first solution on a pointer machine that achieves worst-case o(n) space. Along the way, we develop several interesting data structures that work on a pointer machine and are of independent interest. These include an optimal data structures for random access to a grammar- compressed string and an optimal data structure for a variant of the level ancestor problem. 1 Introduction A string dictionary compactly represents a set of strings S = S1;:::;Sk to support efficient prefix queries, that is, given a pattern string P determine if P is a prefix of some string in S. -
Types for Describing Coordinated Data Structures
Types for Describing Coordinated Data Structures Michael F. Ringenburg∗ Dan Grossman [email protected] [email protected] Dept. of Computer Science & Engineering University of Washington, Seattle, WA 98195 ABSTRACT the n-th function). This section motivates why such invari- Coordinated data structures are sets of (perhaps unbounded) ants are important, explores why the scope of type variables data structures where the nodes of each structure may share makes the problem appear daunting, and previews the rest abstract types with the corresponding nodes of the other of the paper. structures. For example, consider a list of arguments, and 1.1 Low-Level Type Systems a separate list of functions, where the n-th function of the Recent years have witnessed substantial work on powerful second list should be applied only to the n-th argument of type systems for safe, low-level languages. Standard moti- the first list. We can guarantee that this invariant is obeyed vation for such systems includes compiler debugging (gener- by coordinating the two lists, such that the type of the n-th ated code that does not type check implies a compiler error), argument is existentially quantified and identical to the ar- proof-carrying code (the type system encodes a safety prop- gument type of the n-th function. In this paper, we describe erty that the type-checker verifies), automated optimization a minimal set of features sufficient for a type system to sup- (an optimizer can exploit the type information), and manual port coordinated data structures. We also demonstrate that optimization (humans can use idioms unavailable in higher- two known type systems (Crary and Weirich’s LX [6] and level languages without sacrificing safety). -
List of Transparencies
List of Transparencies Chapter 1 Primitive Java 1 A simple first program 2 The eight primitve types in Java 3 Program that illustrates operators 4 Result of logical operators 5 Examples of conditional and looping constructs 6 Layout of a switch statement 7 Illustration of method declaration and calls 8 Chapter 2 References 9 An illustration of a reference: The Point object stored at memory location 1000 is refer- enced by both point1 and point3. The Point object stored at memory location 1024 is referenced by point2. The memory locations where the variables are stored are arbitrary 10 The result of point3=point2: point3 now references the same object as point2 11 Simple demonstration of arrays 12 Array expansion: (a) starting point: a references 10 integers; (b) after step 1: original references the 10 integers; (c) after steps 2 and 3: a references 12 integers, the first 10 of which are copied from original; (d) after original exits scope, the orig- inal array is unreferenced and can be reclaimed 13 Common standard run-time exceptions 14 Common standard checked exceptions 15 Simple program to illustrate exceptions 16 Illustration of the throws clause 17 Program that demonstrates the string tokenizer 18 Program to list contents of a file 19 Chapter 3 Objects and Classes 20 Copyright 1998 by Addison-Wesley Publishing Company ii A complete declaration of an IntCell class 21 IntCell members: read and write are accessible, but storedValue is hidden 22 A simple test routine to show how IntCell objects are accessed 23 IntCell declaration with -
Funnel Heap - a Cache Oblivious Priority Queue
Alcom-FT Technical Report Series ALCOMFT-TR-02-136 Funnel Heap - A Cache Oblivious Priority Queue Gerth Stølting Brodal∗,† Rolf Fagerberg∗ Abstract The cache oblivious model of computation is a two-level memory model with the assumption that the parameters of the model are un- known to the algorithms. A consequence of this assumption is that an algorithm efficient in the cache oblivious model is automatically effi- cient in a multi-level memory model. Arge et al. recently presented the first optimal cache oblivious priority queue, and demonstrated the im- portance of this result by providing the first cache oblivious algorithms for graph problems. Their structure uses cache oblivious sorting and selection as subroutines. In this paper, we devise an alternative opti- mal cache oblivious priority queue based only on binary merging. We also show that our structure can be made adaptive to different usage profiles. Keywords: Cache oblivious algorithms, priority queues, memory hierar- chies, merging ∗BRICS (Basic Research in Computer Science, www.brics.dk, funded by the Danish National Research Foundation), Department of Computer Science, University of Aarhus, Ny Munkegade, DK-8000 Arhus˚ C, Denmark. E-mail: {gerth,rolf}@brics.dk. Partially supported by the Future and Emerging Technologies programme of the EU under contract number IST-1999-14186 (ALCOM-FT). †Supported by the Carlsberg Foundation (contract number ANS-0257/20). 1 1 Introduction External memory models are formal models for analyzing the impact of the memory access patterns of algorithms in the presence of several levels of memory and caches on modern computer architectures. The cache oblivious model, recently introduced by Frigo et al. -
Space-Efficient Data Structures for String Searching and Retrieval
Louisiana State University LSU Digital Commons LSU Doctoral Dissertations Graduate School 2014 Space-efficient data structures for string searching and retrieval Sharma Valliyil Thankachan Louisiana State University and Agricultural and Mechanical College, [email protected] Follow this and additional works at: https://digitalcommons.lsu.edu/gradschool_dissertations Part of the Computer Sciences Commons Recommended Citation Valliyil Thankachan, Sharma, "Space-efficient data structures for string searching and retrieval" (2014). LSU Doctoral Dissertations. 2848. https://digitalcommons.lsu.edu/gradschool_dissertations/2848 This Dissertation is brought to you for free and open access by the Graduate School at LSU Digital Commons. It has been accepted for inclusion in LSU Doctoral Dissertations by an authorized graduate school editor of LSU Digital Commons. For more information, please [email protected]. SPACE-EFFICIENT DATA STRUCTURES FOR STRING SEARCHING AND RETRIEVAL A Dissertation Submitted to the Graduate Faculty of the Louisiana State University and Agricultural and Mechanical College in partial fulfillment of the requirements for the degree of Doctor of Philosophy in The Department of Computer Science by Sharma Valliyil Thankachan B.Tech., National Institute of Technology Calicut, 2006 May 2014 Dedicated to the memory of my Grandfather. ii Acknowledgments This thesis would not have been possible without the time and effort of few people, who believed in me, instilled in me the courage to move forward and lent a supportive shoulder in times of uncertainty. I would like to express here how much it all meant to me. First and foremost, I would like to extend my sincerest gratitude to my advisor Dr. Rahul Shah. I would have hardly imagined that a fortuitous encounter in an online puzzle forum with Rahul, would set the stage for a career in theoretical computer science. -
Dimensional Functions Over Partially Ordered Sets
Intro Dimensional functions over posets Application I Application II Dimensional functions over partially ordered sets V.N.Remeslennikov, E. Frenkel May 30, 2013 1 / 38 Intro Dimensional functions over posets Application I Application II Plan The notion of a dimensional function over a partially ordered set was introduced by V. N. Remeslennikov in 2012. Outline of the talk: Part I. Definition and fundamental results on dimensional functions, (based on the paper of V. N. Remeslennikov and A. N. Rybalov “Dimensional functions over posets”); Part II. 1st application: Definition of dimension for arbitrary algebraic systems; Part III. 2nd application: Definition of dimension for regular subsets of free groups (L. Frenkel and V. N. Remeslennikov “Dimensional functions for regular subsets of free groups”, work in progress). 2 / 38 Intro Dimensional functions over posets Application I Application II Partially ordered sets Definition A partial order is a binary relation ≤ over a set M such that ∀a ∈ M a ≤ a (reflexivity); ∀a, b ∈ M a ≤ b and b ≤ a implies a = b (antisymmetry); ∀a, b, c ∈ M a ≤ b and b ≤ c implies a ≤ c (transitivity). Definition A set M with a partial order is called a partially ordered set (poset). 3 / 38 Intro Dimensional functions over posets Application I Application II Linearly ordered abelian groups Definition A set A equipped with addition + and a linear order ≤ is called linearly ordered abelian group if 1. A, + is an abelian group; 2. A, ≤ is a linearly ordered set; 3. ∀a, b, c ∈ A a ≤ b implies a + c ≤ b + c. Definition The semigroup A+ of all nonnegative elements of A is defined by A+ = {a ∈ A | 0 ≤ a}.