Upper Bounds for Maximally Greedy Binary Search Trees
|
|
- Barbara West
- 6 years ago
- Views:
Transcription
1 Upper Bounds for Maximally Greedy Binary Search Trees Kyle Fox -- University of Illinois at Urbana-Champaign
2 Balanced Binary Search Trees Want data structures for dictionary, predecessor search, etc. Red-black trees and AVL trees do have O(log n) insert and delete, but
3 Balanced Binary Search Trees Want data structures for dictionary, predecessor search, etc. Red-black trees and AVL trees do have O(log n) insert and delete, but 1,,n, 1, 1, 1,
4 Splay Trees Splay trees have O(log n) amortized performance, and access commonly searched nodes far more quickly [Sleator, Tarjan 85] They are - balanced - statically optimal - statically fingerful - working set w x z w x z w x z x y z x y z x y z
5 Splay Trees
6 Splay Trees They are - dynamically optimal? Conjecture: For a given search sequence, splay trees access the smallest number of nodes possible, within a constant factor. They are
7 Splay Trees They are - dynamically optimal? Conjecture: For a given search sequence, splay trees access the smallest number of nodes possible, within a constant factor. They are - complicated
8 Splay Trees They are - dynamically optimal? Conjecture: For a given search sequence, splay trees access the smallest number of nodes possible, within a constant factor. They are - complicated - Proof of dynamic finger theorem spread over 80 pages and two articles [Cole, Mishra, Schmidt, Siegel 00; Cole 00]
9 GreedyFuture [Lucas 88; Munro 00] An offline candidate for dynamic optimality - Appears to be optimal within additive term for # node accesses Easier to analyze? If dynamically optimal, then there exists an online dynamically optimal algorithm! [Demaine, Harmon, Iacono, Kane, Pătraşcu 09]
10 GreedyFuture Only touches nodes on the search path Picks new root (and right child) to place next search as high as possible Places lessor (greater) nodes on search path using lessor (greater) upcoming searches We need an example
11 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
12 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
13 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
14 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
15 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
16 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
17 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
18 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
19 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
20 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
21 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
22 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
23 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
24 GreedyFuture Search sequence 2, 3, 5, 4, 7, 1,
25 Basic Questions
26 Basic Questions Nothing written about GREEDYFUTURE s performance Do searches take O(log n) amortized?
27 Basic Questions Nothing written about GREEDYFUTURE s performance Do searches take O(log n) amortized? Yes!
28 Main Results Balance Theorem: GREEDYFUTURE accesses amortized O(log n) nodes per search. Static Optimality Theorem: Let t(x) be the number of times x appears in a given search sequence of length m. GREEDYFUTURE accesses amortized log (m / t(x)) nodes per search. Static Finger Theorem: Fix some node f. GREEDYFUTURE accesses amortized log ( si - f + 1) nodes when searching for si. ( si - f is the difference in ranks.) Working Set Theorem: Let si be the ith search node and d(i) be the number of distinct nodes searched since the last search of si. GREEDYFUTURE accesses amortized log (d(i) + 1) nodes during search i.
29 Main Results Sequential Access Theorem: Starting from any arbitrary binary search tree, the number of nodes accessed by GREEDYFUTURE when searching for each node once in order is O(n).
30 Main Strategy First four theorems all rely on an access lemma as in [ST 85] But first, some formalism and a different view of the world
31 Formalism Only consider searches, no insertions or deletions n: number of nodes in tree m: number of searches Nodes numbered {1,, n} Must execute search sequence S = s1,, sm
32 More Formalism In each search access nodes in a subtree containing the root The ith subtree must contain si from the search sequence S = s1,, sm Can rearrange/perform rotations in accessed subtree for free Cost of a search is the number of nodes accessed
33 A Geometric Model For the access lemma, we focus entirely on a geometric view of BSTs [DHIKP 09] The model uses points in 2D. Each point p has integer coordinates (p.x, p.y) with 1 p.x n and 1 p.y m
34 Arborral Satisfaction A pair of points a and b in point set P is arborally satisfied if they lie on a horizontal or vertical line or if a point in P \ {a, b} lies in the closed axisaligned rectangle with corners a and b A set of points P is arborally satisfied if all pairs of points are arborally satisfied Unsatisfied Satisfied
35 Searches and Accesses There is a one-to-one correspondence between BST executions and arborally satisfied point sets The geometric view of BST execution E is P(E) = {(x, y) x is accessed during search y} The geometric view of BST search sequence S is P(S) = {(s1, 1), (s2, 2),, (sm, m)} An optimal BST algorithm for S is a minimum cardinality superset of P(S)
36 Online Arborally Satisfied Superset P(S) is revealed to us row by row (si, i) appears at time i. We must place points Pi on line y = i so that {(s1, 1), (s2, 2),, (si, i)} P1 P2 Pi is arborally satisfied Cost is total number of points in final superset ( + = ) Example
37 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
38 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
39 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
40 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
41 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
42 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
43 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
44 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
45 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
46 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
47 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
48 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
49 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
50 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
51 Online Arborally Satisfied Superset Search sequence 2, 3, 5, 4, 7, 1, 6
52 GreedyASS Just saw GREEDYFUTURE as the arborally satisfied superset algorithm GREEDYASS During search i, GREEDYASS places the minimum set of points needed to arborally satisfy {(s1, 1), (s2, 2),, (si, i)} P1 P2 Pi GREEDYASS is an online algorithm - Which implies an online BST algorithm competitive with GREEDYFUTURE [DHIKP 09]
53 Toward an Access Lemma The access lemma directly describes the behavior of GREEDYASS Fix a search sequence S and let X = P(S) Consider the execution of GREEDYASS on X
54 Neighborhoods ρ(x,i) is the last access of x at or before search i (highest point on ray from (x, i) to (x, - )) Left neighborhood of x at time i is Γl(x, i), the set of values {a+1, a+2,, x-1} where a is the smallest pos. integer < x such that ρ(a,i) ρ(x,i) Right neighborhood is Γr(x, i) Inclusive neighborhood is Γl(x, i) Γr(x, i) {x} Example
55 Neighborhoods Left neighborhood of x at time i is Γl(x, i), the set of values {a+1, a+2,, x-1} where a is the smallest pos. integer < x such that ρ(a,i) ρ(x,i) Right neighborhood is Γr(x, i) Inclusive neighborhood is Γl(x, i) Γr(x, i) {x} neighborhood at time 7 neighborhood at time 6
56 Intuition Behind Neighborhoods Intuitively, the nodes in x s neighborhood are in x s subtree in the BST model Formally, the inclusive neighborhood of x at time i contains each node e that will force an access of x if e is searched at time i+1
57 Weights and Potentials Assign each x {1,, n} a positive real weight w(x) Size of x at time i is σ(x, i), the sum of weights in x s inclusive neighborhood (σ(x, i) = ) (, ) ( ) Rank of x at time i is r(x, i) = lg σ(x, i) Potential function ( ) = [ ] (, )
58 The Access Lemma Amortized cost of search i is + + ( ) ( ) Access Lemma: Let = [ ] ( ). The amortized cost of a search at time i is at most + lg (, ) Plugging in appropriate weights implies main theorems [ST 85]
59 Main Proof Ideas The neighborhood of a node does not change if a node is not accessed - Can ignore these nodes when we examine the change in the potential function
60 Main Proof Ideas Upper bounding changes in accessed nodes ranks yields a telescoping sum that cancels out the cost of most accesses Essentially, the sizes for the remaining nodes we must count doubles as we examine them in order away from si x2 x2 x2
61 Sequential Access Theorem From any arbitrary BST, accessing nodes in order takes linear time Proven directly on BSTs Each node can only be accessed once as anything other than the root or root s right child
62 Future Directions Is GREEDYFUTURE/GREEDYASS dynamically optimal? Additional weaker results? - Dynamic Finger Theorem in fewer than 80 pages? - Iacono s unified bound [ 01]? Modify GREEDYFUTURE to support insertions/deletions?
63 Thank you!
Lecture 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 informationThe Geometry of Binary Search Trees
The Geometry of Binary Search Trees Erik Demaine MIT John Iacono Poly Inst. of NYU Dion Harmon NECSI Daniel Kane Harvard Mihai Pătraşcu IBM Almaden ASS Point set in the plane ASS = any nontrivial rectangle
More information3 Competitive Dynamic BSTs (January 31 and February 2)
3 Competitive Dynamic BSTs (January 31 and February ) In their original paper on splay trees [3], Danny Sleator and Bob Tarjan conjectured that the cost of sequence of searches in a splay tree is within
More informationICS 691: Advanced Data Structures Spring Lecture 3
ICS 691: Advanced Data Structures Spring 2016 Prof. Nodari Sitchinava Lecture 3 Scribe: Ben Karsin 1 Overview In the last lecture we started looking at self-adjusting data structures, specifically, move-to-front
More informationDynamic Optimality and Multi-Splay Trees 1
Dynamic Optimality and Multi-Splay Trees 1 Daniel Dominic Sleator and Chengwen Chris Wang November 5, 2004 CMU-CS-04-171 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Abstract
More informationRandomized Splay Trees Final Project
Randomized Splay Trees 6.856 Final Project Robi Bhattacharjee robibhat@mit.edu Ben Eysenbach bce@mit.edu May 17, 2016 Abstract We propose a randomization scheme for splay trees with the same time complexity
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 informationPoketree: A Dynamically Competitive Data Structure with Good Worst-Case Performance
Poketree: A Dynamically Competitive Data Structure with Good Worst-Case Performance Jussi Kujala and Tapio Elomaa Institute of Software Systems Tampere University of Technology P.O. Box 553, FI-33101 Tampere,
More informationA Distribution-Sensitive Dictionary with Low Space Overhead
A Distribution-Sensitive Dictionary with Low Space Overhead Prosenjit Bose, John Howat, and Pat Morin School of Computer Science, Carleton University 1125 Colonel By Dr., Ottawa, Ontario, CANADA, K1S 5B6
More informationSplay Trees. (Splay Trees) Data Structures and Programming Spring / 27
Splay Trees (Splay Trees) Data Structures and Programming Spring 2017 1 / 27 Basic Idea Invented by Sleator and Tarjan (1985) Blind rebalancing no height info kept! Worst-case time per operation is O(n)
More informationDynamic Optimality Almost
Dynamic Optimality Almost Erik D. Demaine Dion Harmon John Iacono Mihai Pǎtraşcu Abstract We present an O(lg lg n)-competitive online binary search tree, improving upon the best previous (trivial) competitive
More informationSelf Adjusting Data Structures
Self Adjusting Data Structures Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Self Adjusting Data Structures 2014/2015 1 / 31 What are self adjusting data structures? Data structures that can
More informationNew Bounds on Optimal Binary Search Trees. Dion Harmon
New Bounds on Optimal Binary Search Trees by Dion Harmon B.A. Mathematics Cornell University, 2000 Submitted to the Department of Mathematics in partial fulfillment of the requirements for the degree of
More informationarxiv: v1 [cs.ds] 13 Jul 2009
Layered Working-Set Trees Prosenjit Bose Karim Douïeb Vida Dujmović John Howat arxiv:0907.2071v1 [cs.ds] 13 Jul 2009 Abstract The working-set bound [Sleator and Tarjan, J. ACM, 1985] roughly states that
More informationDynamic Access Binary Search Trees
Dynamic Access Binary Search Trees 1 * are self-adjusting binary search trees in which the shape of the tree is changed based upon the accesses performed upon the elements. When an element of a splay tree
More informationDynamic Access Binary Search Trees
Dynamic Access Binary Search Trees 1 * are self-adjusting binary search trees in which the shape of the tree is changed based upon the accesses performed upon the elements. When an element of a splay tree
More information8.1. Optimal Binary Search Trees:
DATA STRUCTERS WITH C 10CS35 UNIT 8 : EFFICIENT BINARY SEARCH TREES 8.1. Optimal Binary Search Trees: An optimal binary search tree is a binary search tree for which the nodes are arranged on levels such
More informationLecture 3 February 9, 2010
6.851: Advanced Data Structures Spring 2010 Dr. André Schulz Lecture 3 February 9, 2010 Scribe: Jacob Steinhardt and Greg Brockman 1 Overview In the last lecture we continued to study binary search trees
More informationTreaps. 1 Binary Search Trees (BSTs) CSE341T/CSE549T 11/05/2014. Lecture 19
CSE34T/CSE549T /05/04 Lecture 9 Treaps Binary Search Trees (BSTs) Search trees are tree-based data structures that can be used to store and search for items that satisfy a total order. There are many types
More informationDynamic Optimality Almost
ynamic Optimality Almost Erik. emaine ion Harmon John Iacono Mihai Pǎtraşcu Abstract We present an O(lg lg n)-competitive online binary search tree, improving upon the best previous (trivial) competitive
More informationLecture 8 13 March, 2012
6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 8 13 March, 2012 1 From Last Lectures... In the previous lecture, we discussed the External Memory and Cache Oblivious memory models.
More informationarxiv: v1 [cs.ds] 7 Nov 2011
De-amortizing Binary Search Trees Prosenjit Bose Sébastien Collette Rolf Fagerberg Stefan Langerman arxiv:1111.1665v1 [cs.ds] 7 Nov 2011 Abstract We present a general method for de-amortizing essentially
More informationCombining Binary Search Trees
Combining Binary Search Trees The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation As Published Publisher Demaine, Erik D., John
More informationDYNAMIC OPTIMALITY ALMOST
DYNAMIC OPTIMALITY ALMOST ERIK D. DEMAINE, DION HARMON, JOHN IACONO, AND MIHAI PǍTRAŞCU Abstract. We present an O(lg lg n)-competitive online binary search tree, improving upon the best previous (trivial)
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 informationLecture 5. Treaps Find, insert, delete, split, and join in treaps Randomized search trees Randomized search tree time costs
Lecture 5 Treaps Find, insert, delete, split, and join in treaps Randomized search trees Randomized search tree time costs Reading: Randomized Search Trees by Aragon & Seidel, Algorithmica 1996, http://sims.berkeley.edu/~aragon/pubs/rst96.pdf;
More informationarxiv: v2 [cs.ds] 9 Apr 2009
Pairing Heaps with Costless Meld arxiv:09034130v2 [csds] 9 Apr 2009 Amr Elmasry Max-Planck Institut für Informatik Saarbrücken, Germany elmasry@mpi-infmpgde Abstract Improving the structure and analysis
More informationSearch Trees. Undirected graph Directed graph Tree Binary search tree
Search Trees Undirected graph Directed graph Tree Binary search tree 1 Binary Search Tree Binary search key property: Let x be a node in a binary search tree. If y is a node in the left subtree of x, then
More informationCS350: Data Structures Red-Black Trees
Red-Black Trees James Moscola Department of Engineering & Computer Science York College of Pennsylvania James Moscola Red-Black Tree An alternative to AVL trees Insertion can be done in a bottom-up or
More informationSorted Arrays. Operation Access Search Selection Predecessor Successor Output (print) Insert Delete Extract-Min
Binary Search Trees FRIDAY ALGORITHMS Sorted Arrays Operation Access Search Selection Predecessor Successor Output (print) Insert Delete Extract-Min 6 10 11 17 2 0 6 Running Time O(1) O(lg n) O(1) O(1)
More informationDictionaries. Priority Queues
Red-Black-Trees.1 Dictionaries Sets and Multisets; Opers: (Ins., Del., Mem.) Sequential sorted or unsorted lists. Linked sorted or unsorted lists. Tries and Hash Tables. Binary Search Trees. Priority Queues
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 informationCISC 235: Topic 4. Balanced Binary Search Trees
CISC 235: Topic 4 Balanced Binary Search Trees Outline Rationale and definitions Rotations AVL Trees, Red-Black, and AA-Trees Algorithms for searching, insertion, and deletion Analysis of complexity CISC
More informationBinary Heaps in Dynamic Arrays
Yufei Tao ITEE University of Queensland We have already learned that the binary heap serves as an efficient implementation of a priority queue. Our previous discussion was based on pointers (for getting
More informationB-Trees. Version of October 2, B-Trees Version of October 2, / 22
B-Trees Version of October 2, 2014 B-Trees Version of October 2, 2014 1 / 22 Motivation An AVL tree can be an excellent data structure for implementing dictionary search, insertion and deletion Each operation
More informationCSCI 136 Data Structures & Advanced Programming. Lecture 25 Fall 2018 Instructor: B 2
CSCI 136 Data Structures & Advanced Programming Lecture 25 Fall 2018 Instructor: B 2 Last Time Binary search trees (Ch 14) The locate method Further Implementation 2 Today s Outline Binary search trees
More informationDisk Accesses. CS 361, Lecture 25. B-Tree Properties. Outline
Disk Accesses CS 361, Lecture 25 Jared Saia University of New Mexico Consider any search tree The number of disk accesses per search will dominate the run time Unless the entire tree is in memory, there
More informationLecture 7. Transform-and-Conquer
Lecture 7 Transform-and-Conquer 6-1 Transform and Conquer This group of techniques solves a problem by a transformation to a simpler/more convenient instance of the same problem (instance simplification)
More informationAlgorithms. AVL Tree
Algorithms AVL Tree Balanced binary tree The disadvantage of a binary search tree is that its height can be as large as N-1 This means that the time needed to perform insertion and deletion and many other
More informationCSE100. Advanced Data Structures. Lecture 8. (Based on Paul Kube course materials)
CSE100 Advanced Data Structures Lecture 8 (Based on Paul Kube course materials) CSE 100 Treaps Find, insert, delete, split, and join in treaps Randomized search trees Randomized search tree time costs
More informationRed-Black, Splay and Huffman Trees
Red-Black, Splay and Huffman Trees Kuan-Yu Chen ( 陳冠宇 ) 2018/10/22 @ TR-212, NTUST AVL Trees Review Self-balancing binary search tree Balance Factor Every node has a balance factor of 1, 0, or 1 2 Red-Black
More informationCHAPTER 10 AVL TREES. 3 8 z 4
CHAPTER 10 AVL TREES v 6 3 8 z 4 ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 2004) AND SLIDES FROM NANCY
More informationLecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017
COMPSCI 632: Approximation Algorithms August 30, 2017 Lecturer: Debmalya Panigrahi Lecture 2 Scribe: Nat Kell 1 Introduction In this lecture, we examine a variety of problems for which we give greedy approximation
More information2 A Template for Minimum Spanning Tree Algorithms
CS, Lecture 5 Minimum Spanning Trees Scribe: Logan Short (05), William Chen (0), Mary Wootters (0) Date: May, 0 Introduction Today we will continue our discussion of greedy algorithms, specifically in
More informationICS 691: Advanced Data Structures Spring Lecture 8
ICS 691: Advanced Data Structures Spring 2016 Prof. odari Sitchinava Lecture 8 Scribe: Ben Karsin 1 Overview In the last lecture we continued looking at arborally satisfied sets and their equivalence to
More informationAnalysis of Algorithms
Analysis of Algorithms Concept Exam Code: 16 All questions are weighted equally. Assume worst case behavior and sufficiently large input sizes unless otherwise specified. Strong induction Consider this
More informationOPPA European Social Fund Prague & EU: We invest in your future.
OPPA European Social Fund Prague & EU: We invest in your future. ECE 250 Algorithms and Data Structures Splay Trees Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering
More informationAVL Trees. Version of September 6, AVL Trees Version of September 6, / 22
VL Trees Version of September 6, 6 VL Trees Version of September 6, 6 / inary Search Trees x 8 4 4 < x > x 7 9 3 inary-search-tree property For every node x ll eys in its left subtree are smaller than
More informationRandomized incremental construction. Trapezoidal decomposition: Special sampling idea: Sample all except one item
Randomized incremental construction Special sampling idea: Sample all except one item hope final addition makes small or no change Method: process items in order average case analysis randomize order to
More information1 Figure 1: Zig operation on x Figure 2: Zig-zig operation on x
www.alepho.com 1 1 Splay tree Motivation for this data structure is to have binary tree which performs rotations when nodes is accessed. Operations of interest are finding, inserting and deleting key,
More informationCSE 202: Design and Analysis of Algorithms Lecture 3
CSE 202: Design and Analysis of Algorithms Lecture 3 Instructor: Kamalika Chaudhuri Announcement Homework 1 out Due on Mon April 11 in class No late homeworks will be accepted Greedy Algorithms Direct
More informationRank-Sensitive Priority Queues
Rank-Sensitive Priority Queues Brian C. Dean and Zachary H. Jones School of Computing, Clemson University Clemson, SC, USA. {bcdean,zjones}@cs.clemson.edu Abstract. We introduce the rank-sensitive priority
More informationBalanced Binary Search Trees. Victor Gao
Balanced Binary Search Trees Victor Gao OUTLINE Binary Heap Revisited BST Revisited Balanced Binary Search Trees Rotation Treap Splay Tree BINARY HEAP: REVIEW A binary heap is a complete binary tree such
More informationRank-Pairing Heaps. Bernard Haeupler Siddhartha Sen Robert E. Tarjan. SIAM JOURNAL ON COMPUTING Vol. 40, No. 6 (2011), pp.
Rank-Pairing Heaps Bernard Haeupler Siddhartha Sen Robert E. Tarjan Presentation by Alexander Pokluda Cheriton School of Computer Science, University of Waterloo, Canada SIAM JOURNAL ON COMPUTING Vol.
More informationADAPTIVE SORTING WITH AVL TREES
ADAPTIVE SORTING WITH AVL TREES Amr Elmasry Computer Science Department Alexandria University Alexandria, Egypt elmasry@alexeng.edu.eg Abstract A new adaptive sorting algorithm is introduced. The new implementation
More informationWe assume uniform hashing (UH):
We assume uniform hashing (UH): the probe sequence of each key is equally likely to be any of the! permutations of 0,1,, 1 UH generalizes the notion of SUH that produces not just a single number, but a
More informationCPS 616 TRANSFORM-AND-CONQUER 7-1
CPS 616 TRANSFORM-AND-CONQUER 7-1 TRANSFORM AND CONQUER Group of techniques to solve a problem by first transforming the problem into one of: 1. a simpler/more convenient instance of the same problem (instance
More informationV Advanced Data Structures
V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,
More information15.4 Longest common subsequence
15.4 Longest common subsequence Biological applications often need to compare the DNA of two (or more) different organisms A strand of DNA consists of a string of molecules called bases, where the possible
More informationTrees. Reading: Weiss, Chapter 4. Cpt S 223, Fall 2007 Copyright: Washington State University
Trees Reading: Weiss, Chapter 4 1 Generic Rooted Trees 2 Terms Node, Edge Internal node Root Leaf Child Sibling Descendant Ancestor 3 Tree Representations n-ary trees Each internal node can have at most
More informationSelf-Balancing Search Trees. Chapter 11
Self-Balancing Search Trees Chapter 11 Chapter Objectives To understand the impact that balance has on the performance of binary search trees To learn about the AVL tree for storing and maintaining a binary
More informationV Advanced Data Structures
V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,
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 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 informationOrthogonal line segment intersection. Computational Geometry [csci 3250] Laura Toma Bowdoin College
Orthogonal line segment intersection Computational Geometry [csci 3250] Laura Toma Bowdoin College Line segment intersection The problem (what) Applications (why) Algorithms (how) A special case: Orthogonal
More informationl So unlike the search trees, there are neither arbitrary find operations nor arbitrary delete operations possible.
DDS-Heaps 1 Heaps - basics l Heaps an abstract structure where each object has a key value (the priority), and the operations are: insert an object, find the object of minimum key (find min), and delete
More informationl Heaps very popular abstract data structure, where each object has a key value (the priority), and the operations are:
DDS-Heaps 1 Heaps - basics l Heaps very popular abstract data structure, where each object has a key value (the priority), and the operations are: l insert an object, find the object of minimum key (find
More information2 Scapegoat and Splay Trees
Everything as balanced before the computers ent off line. Try and adjust something, and you unbalance something else. Try and adjust that, you unbalance to more and before you kno hat s happened, the ship
More informationCS711008Z Algorithm Design and Analysis
CS711008Z Algorithm Design and Analysis Lecture 7. Binary heap, binomial heap, and Fibonacci heap Dongbo Bu Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 / 108 Outline
More informationIntroduction. for large input, even access time may be prohibitive we need data structures that exhibit times closer to O(log N) binary search tree
Chapter 4 Trees 2 Introduction for large input, even access time may be prohibitive we need data structures that exhibit running times closer to O(log N) binary search tree 3 Terminology recursive definition
More informationCSC Design and Analysis of Algorithms
CSC : Lecture 7 CSC - Design and Analysis of Algorithms Lecture 7 Transform and Conquer I Algorithm Design Technique CSC : Lecture 7 Transform and Conquer This group of techniques solves a problem by a
More informationAVL Trees Goodrich, Tamassia, Goldwasser AVL Trees 1
AVL Trees v 6 3 8 z 20 Goodrich, Tamassia, Goldwasser AVL Trees AVL Tree Definition Adelson-Velsky and Landis binary search tree balanced each internal node v the heights of the children of v can 2 3 7
More information1 Splay trees. 2 Implementation of splay. CS134b Homework #1 January 8, 2001 Due January 15, 2001
CSb Homework # January, 00 Due January, 00 Splay trees One of the most important data structures used in compilers are sets and tables of arbitrary elements. For example, when we do type checking, we will
More informationHEAPS: IMPLEMENTING EFFICIENT PRIORITY QUEUES
HEAPS: IMPLEMENTING EFFICIENT PRIORITY QUEUES 2 5 6 9 7 Presentation for use with the textbook Data Structures and Algorithms in Java, 6 th edition, by M. T. Goodrich, R. Tamassia, and M. H., Wiley, 2014
More informationSearch Trees - 2. Venkatanatha Sarma Y. Lecture delivered by: Assistant Professor MSRSAS-Bangalore. M.S Ramaiah School of Advanced Studies - Bangalore
Search Trees - 2 Lecture delivered by: Venkatanatha Sarma Y Assistant Professor MSRSAS-Bangalore 11 Objectives To introduce, discuss and analyse the different ways to realise balanced Binary Search Trees
More information1 The range query problem
CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition
More informationData Structures in Java
Data Structures in Java Lecture 10: AVL Trees. 10/1/015 Daniel Bauer Balanced BSTs Balance condition: Guarantee that the BST is always close to a complete binary tree (every node has exactly two or zero
More informationCSC Design and Analysis of Algorithms. Lecture 7. Transform and Conquer I Algorithm Design Technique. Transform and Conquer
// CSC - Design and Analysis of Algorithms Lecture 7 Transform and Conquer I Algorithm Design Technique Transform and Conquer This group of techniques solves a problem by a transformation to a simpler/more
More informationLecture 23: Binary Search Trees
Lecture 23: Binary Search Trees CS 62 Fall 2017 Kim Bruce & Alexandra Papoutsaki 1 BST A binary tree is a binary search tree iff it is empty or if the value of every node is both greater than or equal
More informationChapter 2: Basic Data Structures
Chapter 2: Basic Data Structures Basic Data Structures Stacks Queues Vectors, Linked Lists Trees (Including Balanced Trees) Priority Queues and Heaps Dictionaries and Hash Tables Spring 2014 CS 315 2 Two
More informationBinary Search Trees, etc.
Chapter 12 Binary Search Trees, etc. Binary Search trees are data structures that support a variety of dynamic set operations, e.g., Search, Minimum, Maximum, Predecessors, Successors, Insert, and Delete.
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17
01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are
More information15.4 Longest common subsequence
15.4 Longest common subsequence Biological applications often need to compare the DNA of two (or more) different organisms A strand of DNA consists of a string of molecules called bases, where the possible
More informationAVL Tree Definition. An example of an AVL tree where the heights are shown next to the nodes. Adelson-Velsky and Landis
Presentation for use with the textbook Data Structures and Algorithms in Java, 6 th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 0 AVL Trees v 6 3 8 z 0 Goodrich, Tamassia, Goldwasser
More informationAmortized Analysis and Union-Find , Inge Li Gørtz
Amortized Analysis and Union-Find 02283, Inge Li Gørtz 1 Today Amortized analysis 3 different methods 2 examples Union-Find data structures Worst-case complexity Amortized complexity 2 Amortized Analysis
More informationDATA STRUCTURES AND ALGORITHMS. Hierarchical data structures: AVL tree, Bayer tree, Heap
DATA STRUCTURES AND ALGORITHMS Hierarchical data structures: AVL tree, Bayer tree, Heap Summary of the previous lecture TREE is hierarchical (non linear) data structure Binary trees Definitions Full tree,
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 informationCSC148 Week 7. Larry Zhang
CSC148 Week 7 Larry Zhang 1 Announcements Test 1 can be picked up in DH-3008 A1 due this Saturday Next week is reading week no lecture, no labs no office hours 2 Recap Last week, learned about binary trees
More informationFormal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.
Although this paper analyzes shaping with respect to its benefits on search problems, the reader should recognize that shaping is often intimately related to reinforcement learning. The objective in reinforcement
More informationUniversity of Toronto Department of Electrical and Computer Engineering. Midterm Examination. ECE 345 Algorithms and Data Structures Fall 2012
1 University of Toronto Department of Electrical and Computer Engineering Midterm Examination ECE 345 Algorithms and Data Structures Fall 2012 Print your name and ID number neatly in the space provided
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 informationThe self-minor conjecture for infinite trees
The self-minor conjecture for infinite trees Julian Pott Abstract We prove Seymour s self-minor conjecture for infinite trees. 1. Introduction P. D. Seymour conjectured that every infinite graph is a proper
More informationSplay tree, tree Marko Berezovský Radek Mařík PAL 2012
Splay tree, --4 tree Marko erezovský Radek Mařík PL 0 p < Hi!?/ x+y x--y To read [] Weiss M.., Data Structures and lgorithm nalysis in ++, rd Ed., ddison Wesley, 4.5, pp.49-58. [] Daniel D. Sleator and
More informationCS 206 Introduction to Computer Science II
CS 206 Introduction to Computer Science II 04 / 26 / 2017 Instructor: Michael Eckmann Today s Topics Questions? Comments? Balanced Binary Search trees AVL trees Michael Eckmann - Skidmore College - CS
More information10 Scapegoat and Splay Trees
Everything was balanced before the computers went off line. Try and adjust something, and you unbalance something else. Try and adjust that, you unbalance two more and before you know what s happened,
More informationCS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:
CS270 Combinatorial Algorithms & Data Structures Spring 2003 Lecture 19: 4.1.03 Lecturer: Satish Rao Scribes: Kevin Lacker and Bill Kramer Disclaimer: These notes have not been subjected to the usual scrutiny
More informationCSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium
CSC 172 Data Structures and Algorithms Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium Announcement Coming week: Nov 19 Nov 25 No Quiz No Workshop No New Lab Monday and Tuesday: regular Lab
More information9/29/2016. Chapter 4 Trees. Introduction. Terminology. Terminology. Terminology. Terminology
Introduction Chapter 4 Trees for large input, even linear access time may be prohibitive we need data structures that exhibit average running times closer to O(log N) binary search tree 2 Terminology recursive
More informationPart 2: Balanced Trees
Part 2: Balanced Trees 1 AVL Trees We could dene a perfectly balanced binary search tree with N nodes to be a complete binary search tree, one in which every level except the last is completely full. A
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Balanced Search Trees Date: 9/20/18
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Balanced Search Trees Date: 9/20/18 6.1 Introduction For next few lectures we will be looking at several important data structures.
More information