Advanced Data Structures - Lecture 10
|
|
- Samson Watkins
- 5 years ago
- Views:
Transcription
1 Advanced Data Structures - Lecture 10 Mihai Herda Succinct Data Structures We now look at the problem of representing data structures very space efficiently. A data structure is called succinct if its space occupancy is log U(n) (1 + o(1)) bits, if there are U(n) objects of size n in the universe. Note that this is already the space needed to distinguish between the objects in the universe, hence this space is asymptotically optimal in the Kolomogorov sense. Example Permutations of [1, n]: U(n) = n! lg U(n) = lg ( πn( n e )n ) = n lg n Θ(n) Hence storing permutations in length-n arrays is succinct.. Strings over = {1,..., σ} of length n: U(n) = σ n lg U(n) = n lg σ Hence storing strings as arrays of chars is succinct (assuming all char codes are being used). 3. Ordered trees of n nodes: U(n) = with Catalan number 4n n 3 π lg U(n) n Θ(lg n) Hence storing trees in a pointer-based representation is asymptotically not optimal, hence not succint. 1.1 Succinct Trees The aim is to represent a static ordered tree of n nodes using n + o(n) bits, while still being able to work with the tree as if it were stored in a pointer-based representation. In particular, we want to support the following operations, all in O(1) time: 1
2 parent(v) v next_sibling(v) parent(v): parent node of v first_child(v) first child(v): leftmost child of v next sibling(v): next sibling of v is leaf(v): test if v is a leaf is ancestor(u, v): test if u is ancestor of v subtree size(v): number of nodes below v depth(v): number of nodes on the root-to-v path Balanced Parentheses (BP) We represent the tree T as its sequence of balanced parentheses. This is obtained during a DF S through T, writing an opening parenthesis ( when a node is encountered for the first time, and a closing parenthesis ) when it is seen last. Then a node can be identified by a pair of matching parentheses (... ). We adopt the convention of identifying nodes by the position of the opening parenthesis in the BP sequence. Example. A B E F C D G K H I J BPS = ( ( ( ) ( ) ) ( ) ( ( ( ) ( ) ( ) ) ( ) ) ) A B C D E F G H I J K We can represent the BPS in a bit-string B of length n by encoding ( as 1 and ) as 0. Let us define the excess of a position 1 i in B as the number of ( s minus the number of ) s in the prefix of B up to position i: Definition 1. excess(b, i) = {j i : B[j] = ( } {j i : B[j] = ) }
3 Note that the excess is never negative and it is equal to 0 only for the last position i = n. Example B = ( ( ( ) ( ) ) ( ) ( ( ( ) ( ) ( ) ) ( ) ) ) }excess 1.1. Reduction to Core Operations The navigational operations can be reduced to the following 4 core operations: rank ( (B, i) = number of ( s in B[0, i] rank ) (B, i) = number of ) s in B[0, i] findclose(b, i) = position of matching closing parenthesis if B[i] = ( enclose(b, i) = position j of the opening parenthesis such that (j, f indclose(j)) encloses (i, f indclose(i)) most tightly. Example B = ( ( ( ) ( ) ) ( ) ( ( ( ) ( ) ( ) ) ( ) ) ) enclose(15) = 10 The operations can be expressed as follows: parent(i) = enclose(b, i) (if i 0, otherwise root) first child(i) = i + 1 (if B[i] = (, otherwise leaf) next sibling(i) = findclose(i) + 1 (if B[findclose(i) + 1] = (, otherwise i is last sibling) is leaf(i) = true iff B[i + 1] = ) is ancestor(i, j) = true iff i j findclose(b, i) subtree size(i) = (findclose(i) i + 1)/ depth(i) = rank ( (B, i) rank ) (B, i) Note also excess(i) = rank ( (B, i) rank ) (B, i) for all positions i (not only for positions of opening parantheses, where excess(i) = depth(i)). In order to jump directly to the opening parenthesis of the i th node, we define the operation select as follows: Definition. select ( (B, i) = position of i th ( in B 3
4 1. Rank and Select We start with rank and select, as they will also be used as subroutines for findclose and enclose. Recall that we represent the BPS as a bit-vector, hence we can formulate the following task: given: a bit-vector B of length n compute: a data structure that supports rank 1 (B, i) and select 1 (B, i) for all i j n. The size of the data structure should be asymptotically smaller than the size of B. For rank, we divide B into blocks of length s = lg n and superblocks of length s = s. In a table SBlkRank[0, n/s ], we store the answers to rank for super-blocks, and in BlkRank[0, n/s] the same for blocks, but only relative to the beginning of the super-block: SBlkRank[i] = rank 1 (B, i s 1) BlkRank[i] = rank 1 (B, i s 1) rank 1 (B, i s s 1) Example B = }} s s' SBlkRank = BlkRank = Inblock = i = pattern We also store a lookup table Inblock[0, s 1][0, s 1] where inblock[pattern][i] = rank 1 (pattern, i) for all bit patterns of length s and all 0 i s. Then rank 1 (B, i) = SBlkRank[ i s ] + BlkRank[ i s ] + Inblock[B[, i + 1 ]][i i s s] The sizes of the data structures are order of SBlkRank = BlkRank = n s lg s = n s lg n = n lg n, #bits for value #superblocks n lg lg n lg n, and Inblock = s s lg s = n lg n lg lg n, all o(n) bits. i s s start of i s block s s 1 end of i s block 4
5 1.3 Recommended Reading R.F.Geary, N.Rahman, R. Raman, V.Raman: A Simple Optimal Representation for Balanced Parantheses. Theor. Comp. Sci. 368(3): 31-46, 006. J. I. Munro, V. Raman: Succinct Representation of Balanced Parenthesis and Static Trees. SIAM J. Comput 31(3): , 001. There is a vast amount of literature on succinct tree representations, focusing on enhancing the set of supported operations( i-th child, lca, level-ancestor,... ), dynamization(insert/delete nodes), lowering the redundancy(the o(n)-term), etc. A good pointer to recent developments is: K. Sadakane, G. Navarro: Fully-Functional Succinct Trees. Proc. SODA: ,
Data Compression Techniques
Data Compression Techniques Part 3: Compressed Data Structures Lecture 11: Compressed Graphs and Trees Juha Kärkkäinen 05.12.2017 1 / 13 Compressed Graphs We will next describe a simple representation
More informationText Indexing: Lecture 8
Simon Gog gog@kit.edu - Simon Gog: KIT The Research University in the Helmholtz Association www.kit.edu The LCP-Interval Tree Definition of an LCP-interval []) An interval [i, j], where i n is called LCP-interval
More informationDynamizing Succinct Tree Representations
Dynamizing Succinct Tree Representations Stelios Joannou and Rajeev Raman Department of Computer Science University of Leicester www.le.ac.uk Introduction Aim: to represent ordinal trees Rooted, ordered
More informationFully-Functional Succinct Trees
Fully-Functional Succinct Trees Kunihiko Sadakane Gonzalo Navarro Abstract We propose new succinct representations of ordinal trees, which have been studied extensively. It is known that any n-node static
More informationCombined Data Structure for Previous- and Next-Smaller-Values
Combined Data Structure for Previous- and Next-Smaller-Values Johannes Fischer Karlsruhe Institute of Technology, Institut für Theoretische Informatik, 76131 Karlsruhe, Germany Abstract Let A be a static
More informationA Fully-Functional Static and Dynamic Succinct Trees
A Fully-Functional Static and Dynamic Succinct Trees GONZALO NAVARRO, University of Chile, Chile KUNIHIKO SADAKANE, National Institute of Informatics, Japan We propose new succinct representations of ordinal
More informationOn Succinct Representations of Binary Trees
Math. in comp. sc. 99 (9999), 1 11 DOI 10.1007/s11786-003-0000 c 2015 Birkhäuser Verlag Basel/Switzerland Mathematics in Computer Science On Succinct Representations of Binary Trees Pooya Davoodi, Rajeev
More informationarxiv: v2 [cs.ds] 23 Mar 2016
Simple and Efficient Fully-Functional Succinct Trees Joshimar Cordova and Gonzalo Navarro Department of Computer Science, University of Chile {jcordova gnavarro}@dcc.uchile.cl arxiv:1601.06939v2 [cs.ds]
More informationLower bound for comparison-based sorting
COMP3600/6466 Algorithms 2018 Lecture 8 1 Lower bound for comparison-based sorting Reading: Cormen et al, Section 8.1 and 8.2 Different sorting algorithms may have different running-time complexities.
More informationSimple and Efficient Fully-Functional Succinct Trees
Simple and Efficient Fully-Functional Succinct Trees Joshimar Cordova, Gonzalo Navarro Center of Biotechnology and Bioengineering, Department of Computer Science, University of Chile, Chile Abstract The
More informationUltra-succinct Representation of Ordered Trees
Ultra-succinct Representation of Ordered Trees Jesper Jansson Kunihiko Sadakane Wing-Kin Sung April 8, 2006 Abstract There exist two well-known succinct representations of ordered trees: BP (balanced parenthesis)
More informationOregon State University Practice problems 2 Winster Figure 1: The original B+ tree. Figure 2: The B+ tree after the changes in (1).
Figure 1: The original B+ tree. Figure 2: The B+ tree after the changes in (1). 1: Indexing Consider the B+ tree index of degree d = 2 shown in Figure 1. Instead of pointers to the data records in data
More informationSuccinct Dynamic Cardinal Trees
Noname manuscript No. (will be inserted by the editor) Succinct Dynamic Cardinal Trees Diego Arroyuelo Pooya Davoodi Srinivasa Rao Satti the date of receipt and acceptance should be inserted later Abstract
More informationChapter 10: Trees. A tree is a connected simple undirected graph with no simple circuits.
Chapter 10: Trees A tree is a connected simple undirected graph with no simple circuits. Properties: o There is a unique simple path between any 2 of its vertices. o No loops. o No multiple edges. Example
More informationGiven a text file, or several text files, how do we search for a query string?
CS 840 Fall 2016 Text Search and Succinct Data Structures: Unit 4 Given a text file, or several text files, how do we search for a query string? Note the query/pattern is not of fixed length, unlike key
More informationOptimal Succinctness for Range Minimum Queries
Optimal Succinctness for Range Minimum Queries Johannes Fischer Universität Tübingen, Center for Bioinformatics (ZBIT), Sand 14, D-72076 Tübingen fischer@informatik.uni-tuebingen.de Abstract. For a static
More informationImproved Range Minimum Queries
Improved Range Minimum Queries Héctor Ferrada, Gonzalo Navarro Center of Biotechnology and Bioengineering, Department of Computer Science, University of Chile, Santiago, Chile Abstract Fischer and Heun
More informationSuccinct and I/O Efficient Data Structures for Traversal in Trees
Succinct and I/O Efficient Data Structures for Traversal in Trees Craig Dillabaugh 1, Meng He 2, and Anil Maheshwari 1 1 School of Computer Science, Carleton University, Canada 2 Cheriton School of Computer
More informationLecture: Analysis of Algorithms (CS )
Lecture: Analysis of Algorithms (CS583-002) Amarda Shehu Fall 2017 Amarda Shehu Lecture: Analysis of Algorithms (CS583-002) Sorting in O(n lg n) Time: Heapsort 1 Outline of Today s Class Sorting in O(n
More informationLinear-Space Data Structures for Range Frequency Queries on Arrays and Trees
Noname manuscript No. (will be inserted by the editor) Linear-Space Data Structures for Range Frequency Queries on Arrays and Trees Stephane Durocher Rahul Shah Matthew Skala Sharma V. Thankachan the date
More informationSpace Efficient Data Structures for Dynamic Orthogonal Range Counting
Space Efficient Data Structures for Dynamic Orthogonal Range Counting Meng He and J. Ian Munro Cheriton School of Computer Science, University of Waterloo, Canada, {mhe, imunro}@uwaterloo.ca Abstract.
More informationModule 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree.
The Lecture Contains: Index structure Binary search tree (BST) B-tree B+-tree Order file:///c /Documents%20and%20Settings/iitkrana1/My%20Documents/Google%20Talk%20Received%20Files/ist_data/lecture13/13_1.htm[6/14/2012
More informationEngineering a Compressed Suffix Tree Implementation
Engineering a Compressed Suffix Tree Implementation Niko Välimäki 1, Wolfgang Gerlach 2, Kashyap Dixit 3, and Veli Mäkinen 1 1 Department of Computer Science, University of Helsinki, Finland. {nvalimak,vmakinen}@cs.helsinki.fi
More informationImplementing the LZ-index: Theory versus Practice
Implementing the LZ-index: Theory versus Practice GONZALO NAVARRO University of Chile The LZ-index is a theoretical proposal of a lightweight data structure for text indexing, based on the Ziv-Lempel trie.
More informationSpace-efficient Construction of LZ-index
Space-efficient Construction of LZ-index Diego Arroyuelo and Gonzalo Navarro Dept. of Computer Science, University of Chile, Blanco Encalada 212, Santiago, Chile. {darroyue,gnavarro}@dcc.uchile.cl Abstract.
More information4. Suffix Trees and Arrays
4. Suffix Trees and Arrays Let T = T [0..n) be the text. For i [0..n], let T i denote the suffix T [i..n). Furthermore, for any subset C [0..n], we write T C = {T i i C}. In particular, T [0..n] is the
More informationFast Compressed Tries through Path Decompositions
Fast Compressed Tries through Path Decompositions ROBERTO GROSSI and GIUSEPPE OTTAVIANO, UniversitàdiPisa Tries are popular data structures for storing a set of strings, where common prefixes are represented
More informationPractical Approaches to Reduce the Space Requirement of Lempel-Ziv-Based Compressed Text Indices
Practical Approaches to Reduce the Space Requirement of Lempel-Ziv-Based Compressed Text Indices DIEGO ARROYUELO University of Chile and GONZALO NAVARRO University of Chile Given a text T[1..u] over an
More informationAn AVL tree with N nodes is an excellent data. The Big-Oh analysis shows that most operations finish within O(log N) time
B + -TREES MOTIVATION An AVL tree with N nodes is an excellent data structure for searching, indexing, etc. The Big-Oh analysis shows that most operations finish within O(log N) time The theoretical conclusion
More informationComputational Optimization ISE 407. Lecture 16. Dr. Ted Ralphs
Computational Optimization ISE 407 Lecture 16 Dr. Ted Ralphs ISE 407 Lecture 16 1 References for Today s Lecture Required reading Sections 6.5-6.7 References CLRS Chapter 22 R. Sedgewick, Algorithms in
More informationSuffix links are stored for compact trie nodes only, but we can define and compute them for any position represented by a pair (u, d):
Suffix links are the same as Aho Corasick failure links but Lemma 4.4 ensures that depth(slink(u)) = depth(u) 1. This is not the case for an arbitrary trie or a compact trie. Suffix links are stored for
More informationQuerying and Maintaining Succinct XML Data
Querying and Maintaining Succinct XML Data Franky Lam William M. Shui Raymond K. Wong National ICT Australia and School of Computer Science & Engineering University of New South Wales Sydney, NSW 2052,
More informationAlgorithms in Systems Engineering ISE 172. Lecture 16. Dr. Ted Ralphs
Algorithms in Systems Engineering ISE 172 Lecture 16 Dr. Ted Ralphs ISE 172 Lecture 16 1 References for Today s Lecture Required reading Sections 6.5-6.7 References CLRS Chapter 22 R. Sedgewick, Algorithms
More informationLempel-Ziv Compressed Full-Text Self-Indexes
Lempel-Ziv Compressed Full-Text Self-Indexes Diego G. Arroyuelo Billiardi Ph.D. Student, Departamento de Ciencias de la Computación Universidad de Chile darroyue@dcc.uchile.cl Advisor: Gonzalo Navarro
More informationBinary search trees. Binary search trees are data structures based on binary trees that support operations on dynamic sets.
COMP3600/6466 Algorithms 2018 Lecture 12 1 Binary search trees Reading: Cormen et al, Sections 12.1 to 12.3 Binary search trees are data structures based on binary trees that support operations on dynamic
More informationLecture 3 February 20, 2007
6.897: Advanced Data Structures Spring 2007 Prof. Erik Demaine Lecture 3 February 20, 2007 Scribe: Hui Tang 1 Overview In the last lecture we discussed Binary Search Trees and the many bounds which achieve
More informationCSE 530A. B+ Trees. Washington University Fall 2013
CSE 530A B+ Trees Washington University Fall 2013 B Trees A B tree is an ordered (non-binary) tree where the internal nodes can have a varying number of child nodes (within some range) B Trees When a key
More information4. Suffix Trees and Arrays
4. Suffix Trees and Arrays Let T = T [0..n) be the text. For i [0..n], let T i denote the suffix T [i..n). Furthermore, for any subset C [0..n], we write T C = {T i i C}. In particular, T [0..n] is the
More informationSpace-efficient representations of non-linear objects
Space-efficient representations of non-linear objects Rajeev Raman, University of Leicester ラアジブラアマン レスタ大學 1 Introduction We are increasingly processing very large data sets. Processing is often complex
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College November 13, 2017 Outline Outline 1 C++ Supplement.1: Trees Outline C++ Supplement.1: Trees 1 C++ Supplement.1: Trees Uses
More informationParallel Construction of Succinct Trees
Parallel Construction of Succinct Trees Leo Ferres 1, José Fuentes-Sepúlveda 1, Meng He 2, and Norbert Zeh 2 1 Department of Computer Science, Universidad de Concepción, Chile, {lferres,jfuentess}@udec.cl
More informationParallel Construction of Succinct Trees
Parallel Construction of Succinct Trees Leo Ferres 1, José Fuentes-Sepúlveda 1, Meng He 2, and Norbert Zeh 2 1 Department of Computer Science, Universidad de Concepción, Chile, {lferres,jfuentess}@udec.cl
More informationM-ary Search Tree. B-Trees. B-Trees. Solution: B-Trees. B-Tree: Example. B-Tree Properties. Maximum branching factor of M Complete tree has height =
M-ary Search Tree B-Trees Section 4.7 in Weiss Maximum branching factor of M Complete tree has height = # disk accesses for find: Runtime of find: 2 Solution: B-Trees specialized M-ary search trees Each
More informationCMSC 341 Lecture 15 Leftist Heaps
Based on slides from previous iterations of this course CMSC 341 Lecture 15 Leftist Heaps Prof. John Park Review of Heaps Min Binary Heap A min binary heap is a Complete binary tree Neither child is smaller
More informationRepresenting Trees of Higher Degree
Representing Trees of Higher Degree David Benoit Erik D. Demaine J. Ian Munro Rajeev Raman Venkatesh Raman S. Srinivasa Rao Abstract This paper focuses on space efficient representations of rooted trees
More informationChapter 4 Trees. Theorem A graph G has a spanning tree if and only if G is connected.
Chapter 4 Trees 4-1 Trees and Spanning Trees Trees, T: A simple, cycle-free, loop-free graph satisfies: If v and w are vertices in T, there is a unique simple path from v to w. Eg. Trees. Spanning trees:
More informationCMSC 341 Lecture 15 Leftist Heaps
Based on slides from previous iterations of this course CMSC 341 Lecture 15 Leftist Heaps Prof. John Park Review of Heaps Min Binary Heap A min binary heap is a Complete binary tree Neither child is smaller
More informationAlgorithms. Deleting from Red-Black Trees B-Trees
Algorithms Deleting from Red-Black Trees B-Trees Recall the rules for BST deletion 1. If vertex to be deleted is a leaf, just delete it. 2. If vertex to be deleted has just one child, replace it with that
More informationCompressed Indexes for Dynamic Text Collections
Compressed Indexes for Dynamic Text Collections HO-LEUNG CHAN University of Hong Kong and WING-KAI HON National Tsing Hua University and TAK-WAH LAM University of Hong Kong and KUNIHIKO SADAKANE Kyushu
More informationEfficient pebbling for list traversal synopses
Efficient pebbling for list traversal synopses Yossi Matias Ely Porat Tel Aviv University Bar-Ilan University & Tel Aviv University Abstract 1 Introduction 1.1 Applications Consider a program P running
More informationM-ary Search Tree. B-Trees. Solution: B-Trees. B-Tree: Example. B-Tree Properties. B-Trees (4.7 in Weiss)
M-ary Search Tree B-Trees (4.7 in Weiss) Maximum branching factor of M Tree with N values has height = # disk accesses for find: Runtime of find: 1/21/2011 1 1/21/2011 2 Solution: B-Trees specialized M-ary
More information( ( ( ( ) ( ( ) ( ( ( ) ( ( ) ) ) ) ( ) ( ( ) ) ) ( ) ( ) ( ) ( ( ) ) ) ) ( ) ( ( ( ( ) ) ) ( ( ) ) ) )
Representing Trees of Higher Degree David Benoit 1;2, Erik D. Demaine 2, J. Ian Munro 2, and Venkatesh Raman 3 1 InfoInteractive Inc., Suite 604, 1550 Bedford Hwy., Bedford, N.S. B4A 1E6, Canada 2 Dept.
More informationCompressed Dynamic Tries with Applications to LZ-Compression in Sublinear Time and Space
Compressed Dynamic Tries with Applications to LZ-Compression in Sublinear Time and Space Jesper Jansson 1,, Kunihiko Sadakane 1, and Wing-Kin Sung 2 1 Department of Computer Science and Communication Engineering,
More informationCE 221 Data Structures and Algorithms
CE 221 Data Structures and Algorithms Chapter 4: Trees (Binary) Text: Read Weiss, 4.1 4.2 Izmir University of Economics 1 Preliminaries - I (Recursive) Definition: A tree is a collection of nodes. The
More informationAn undirected graph is a tree if and only of there is a unique simple path between any 2 of its vertices.
Trees Trees form the most widely used subclasses of graphs. In CS, we make extensive use of trees. Trees are useful in organizing and relating data in databases, file systems and other applications. Formal
More informationPath Queries in Weighted Trees
Path Queries in Weighted Trees Meng He 1, J. Ian Munro 2, and Gelin Zhou 2 1 Faculty of Computer Science, Dalhousie University, Canada. mhe@cs.dal.ca 2 David R. Cheriton School of Computer Science, University
More informationBinary Trees, Binary Search Trees
Binary Trees, Binary Search Trees Trees Linear access time of linked lists is prohibitive Does there exist any simple data structure for which the running time of most operations (search, insert, delete)
More informationComplexity and Advanced Algorithms Monsoon Parallel Algorithms Lecture 4
Complexity and Advanced Algorithms Monsoon 2011 Parallel Algorithms Lecture 4 Advanced Optimal Solutions 1 8 5 11 2 6 10 4 3 7 12 9 General technique suggests that we solve a smaller problem and extend
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Lecture 9 - Jan. 22, 2018 CLRS 12.2, 12.3, 13.2, read problem 13-3 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures
More informationRed-Black Trees. Based on materials by Dennis Frey, Yun Peng, Jian Chen, and Daniel Hood
Red-Black Trees Based on materials by Dennis Frey, Yun Peng, Jian Chen, and Daniel Hood Quick Review of Binary Search Trees n Given a node n... q All elements of n s left subtree are less than n.data q
More informationNew Common Ancestor Problems in Trees and Directed Acyclic Graphs
New Common Ancestor Problems in Trees and Directed Acyclic Graphs Johannes Fischer, Daniel H. Huson Universität Tübingen, Center for Bioinformatics (ZBIT), Sand 14, D-72076 Tübingen Abstract We derive
More informationLecture 4 Feb 21, 2007
6.897: Advanced Data Structures Spring 2007 Prof. Erik Demaine Lecture 4 Feb 21, 2007 Scribe: Mashhood Ishaque 1 Overview In the last lecture we worked in a BST model. We discussed Wilber lower bounds
More information7.1 Introduction. A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w
Chapter 7 Trees 7.1 Introduction A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w Tree Terminology Parent Ancestor Child Descendant Siblings
More informationEncoding Data Structures
Encoding Data Structures Rajeev Raman University of Leicester ERATO-ALSIP special seminar RMQ problem Given a static array A[1..n], pre-process A to answer queries: RMQ(l, r) : return max l i r A[i]. 47
More informationBioinformatics Programming. EE, NCKU Tien-Hao Chang (Darby Chang)
Bioinformatics Programming EE, NCKU Tien-Hao Chang (Darby Chang) 1 Tree 2 A Tree Structure A tree structure means that the data are organized so that items of information are related by branches 3 Definition
More informationTrees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures.
Trees Q: Why study trees? : Many advance DTs are implemented using tree-based data structures. Recursive Definition of (Rooted) Tree: Let T be a set with n 0 elements. (i) If n = 0, T is an empty tree,
More informationLinear-Space Data Structures for Range Minority Query in Arrays
Linear-Space Data Structures for Range Minority Query in Arrays Timothy M. Chan 1, Stephane Durocher 2, Matthew Skala 2, and Bryan T. Wilkinson 1 1 Cheriton School of Computer Science, University of Waterloo,
More informationLower Bound on Comparison-based Sorting
Lower Bound on Comparison-based Sorting Different sorting algorithms may have different time complexity, how to know whether the running time of an algorithm is best possible? We know of several sorting
More informationLecture 2 February 4, 2010
6.897: Advanced Data Structures Spring 010 Prof. Erik Demaine Lecture February 4, 010 1 Overview In the last lecture we discussed Binary Search Trees(BST) and introduced them as a model of computation.
More informationFinal Exam in Algorithms and Data Structures 1 (1DL210)
Final Exam in Algorithms and Data Structures 1 (1DL210) Department of Information Technology Uppsala University February 0th, 2012 Lecturers: Parosh Aziz Abdulla, Jonathan Cederberg and Jari Stenman Location:
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Lecture 9 - Jan. 22, 2018 CLRS 12.2, 12.3, 13.2, read problem 13-3 University of Manitoba 1 / 12 Binary Search Trees (review) Structure
More informationData Structure - Binary Tree 1 -
Data Structure - Binary Tree 1 - Hanyang University Jong-Il Park Basic Tree Concepts Logical structures Chap. 2~4 Chap. 5 Chap. 6 Linear list Tree Graph Linear structures Non-linear structures Linear Lists
More information13.4 Deletion in red-black trees
Deletion in a red-black tree is similar to insertion. Apply the deletion algorithm for binary search trees. Apply node color changes and left/right rotations to fix the violations of RBT tree properties.
More informationEE 368. Weeks 5 (Notes)
EE 368 Weeks 5 (Notes) 1 Chapter 5: Trees Skip pages 273-281, Section 5.6 - If A is the root of a tree and B is the root of a subtree of that tree, then A is B s parent (or father or mother) and B is A
More informationCOSC Advanced Data Structures and Algorithm Analysis Lab 3: Heapsort
COSC 320 - Advanced Data Structures and Algorithm Analysis Lab 3: Heapsort Dr. Joe Anderson Due: 21 February 2019 1 Objectives In this lab you will focus on the following objectives: 1. Develop familiarity
More information13.4 Deletion in red-black trees
The operation of Deletion in a red-black tree is similar to the operation of Insertion on the tree. That is, apply the deletion algorithm for binary search trees to delete a node z; apply node color changes
More informationTodays Lecture. Assignment 2 deadline: You have 5 Calendar days to complete.
Trees! Todays Lecture Assignment 2 deadline: 11 pm Monday 2/17 President s day. You have 5 Calendar days to complete. Trees What are trees in computer science? Data Structures for Trees Algorithms useful
More informationResearch Article Using the Sadakane Compressed Suffix Tree to Solve the All-Pairs Suffix-Prefix Problem
Hindawi Publishing Corporation BioMed Research International Volume 2014, Article ID 745298, 11 pages http://dx.doi.org/10.1155/2014/745298 Research Article Using the Sadakane Compressed Suffix Tree to
More informationLRM-Trees: Compressed Indices, Adaptive Sorting, and Compressed Permutations
LRM-Trees: Compressed Indices, Adaptive Sorting, and Compressed Permutations Jérémy Barbay 1, Johannes Fischer 2, and Gonzalo Navarro 1 1 Department of Computer Science, University of Chile, {jbarbay,gnavarro}@dcc.uchile.cl
More informationRandom Access to Grammar-Compressed Strings and Trees
Downloaded from orbit.dtu.dk on: Oct 16, 2018 Random Access to Grammar-Compressed Strings and Trees Bille, Philip; Landau, Gad M.; Raman, Rajeev; Sadakane, Kunihiko; Satti, Srinivasa Rao; Weimann, Oren
More informationUses for Trees About Trees Binary Trees. Trees. Seth Long. January 31, 2010
Uses for About Binary January 31, 2010 Uses for About Binary Uses for Uses for About Basic Idea Implementing Binary Example: Expression Binary Search Uses for Uses for About Binary Uses for Storage Binary
More informationUNIT 4 Branch and Bound
UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees
More informationCompact Navigation and Distance Oracles for Graphs with Small Treewidth
Compact Navigation and Distance Oracles for Graphs with Small Treewidth Technical Report CS-2011-15 Arash Farzan 1 and Shahin Kamali 2 1 Max-Planck-Institut für Informatik, Saarbrücken, Germany 2 Cheriton
More informationTrees. T.U. Cluj-Napoca -DSA Lecture 2 - M. Joldos 1
Trees Terminology. Rooted Trees. Traversals. Labeled Trees and Expression Trees. Tree ADT. Tree Implementations. Binary Search Trees. Optimal Search Trees T.U. Cluj-Napoca -DSA Lecture 2 - M. Joldos 1
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College October 19, 2016 Outline Outline 1 Chapter 7: Trees Outline Chapter 7: Trees 1 Chapter 7: Trees Uses Of Trees Chapter 7: Trees
More informationA Lempel-Ziv Text Index on Secondary Storage
A Lempel-Ziv Text Index on Secondary Storage Diego Arroyuelo and Gonzalo Navarro Dept. of Computer Science, University of Chile, Blanco Encalada 212, Santiago, Chile. {darroyue,gnavarro}@dcc.uchile.cl
More informationITEC2620 Introduction to Data Structures
T2620 ntroduction to ata Structures Lecture 4a inary Trees Review of Linked Lists Linked-Lists dynamic length arbitrary memory locations access by following links an only traverse link in forward direction
More informationLaboratory Module X B TREES
Purpose: Purpose 1... Purpose 2 Purpose 3. Laboratory Module X B TREES 1. Preparation Before Lab When working with large sets of data, it is often not possible or desirable to maintain the entire structure
More informationLec 17 April 8. Topics: binary Trees expression trees. (Chapter 5 of text)
Lec 17 April 8 Topics: binary Trees expression trees Binary Search Trees (Chapter 5 of text) Trees Linear access time of linked lists is prohibitive Heap can t support search in O(log N) time. (takes O(N)
More informationPAPER Constructing the Suffix Tree of a Tree with a Large Alphabet
IEICE TRANS. FUNDAMENTALS, VOL.E8??, NO. JANUARY 999 PAPER Constructing the Suffix Tree of a Tree with a Large Alphabet Tetsuo SHIBUYA, SUMMARY The problem of constructing the suffix tree of a tree is
More information2-3 Tree. Outline B-TREE. catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } ADD SLIDES ON DISJOINT SETS
Outline catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } Balanced Search Trees 2-3 Trees 2-3-4 Trees Slide 4 Why care about advanced implementations? Same entries, different insertion sequence:
More informationMulti-way Search Trees. (Multi-way Search Trees) Data Structures and Programming Spring / 25
Multi-way Search Trees (Multi-way Search Trees) Data Structures and Programming Spring 2017 1 / 25 Multi-way Search Trees Each internal node of a multi-way search tree T: has at least two children contains
More informationTree. A path is a connected sequence of edges. A tree topology is acyclic there is no loop.
Tree A tree consists of a set of nodes and a set of edges connecting pairs of nodes. A tree has the property that there is exactly one path (no more, no less) between any pair of nodes. A path is a connected
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Binary Search Trees CLRS 12.2, 12.3, 13.2, read problem 13-3 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures
More informationIntroduction to Computers and Programming. Concept Question
Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 7 April 2 2004 Concept Question G1(V1,E1) A graph G(V, where E) is V1 a finite = {}, nonempty E1 = {} set of G2(V2,E2) vertices and
More informationLecture 6: Analysis of Algorithms (CS )
Lecture 6: Analysis of Algorithms (CS583-002) Amarda Shehu October 08, 2014 1 Outline of Today s Class 2 Traversals Querying Insertion and Deletion Sorting with BSTs 3 Red-black Trees Height of a Red-black
More informationSuccinct Data Structures for Tree Adjoining Grammars
Succinct Data Structures for Tree Adjoining Grammars James ing Department of Computer Science University of British Columbia 201-2366 Main Mall Vancouver, BC, V6T 1Z4, Canada king@cs.ubc.ca Abstract We
More informationData Compression Algorithms
Data Compression Algorithms Adaptive Huffman coding Robert G. Gallager Massachusetts Institute of Technology Donald Ervin Knuth Stanford University 17.10.2017 NSWI072-6 Static adaptive methods (Statistical)
More informationChapter 20: Binary Trees
Chapter 20: Binary Trees 20.1 Definition and Application of Binary Trees Definition and Application of Binary Trees Binary tree: a nonlinear linked list in which each node may point to 0, 1, or two other
More informationSuccinct representations of planar maps
Succinct representations of planar maps Luca Castelli Aleardi, Olivier Devillers, Gilles Schaeffer To cite this version: Luca Castelli Aleardi, Olivier Devillers, Gilles Schaeffer. Succinct representations
More information