Lecture 5: Fusion Trees (ctd.) Johannes Fischer
|
|
- Irma McCoy
- 5 years ago
- Views:
Transcription
1 Lecture 5: Fusion Trees (ctd.) Johannes Fischer
2 Fusion Trees fusion tree pred/succ O(lg n / lg w) w.c. construction O(n) w.c. + SORT(n,w) space O(n) w.c. 2 2
3 Idea B-tree with branching factor b=w /5 b height lg w n search for q by topdown traversal b... identifies pred/succ b... x x2 xb q xi xi+ 3 3
4 Sketches important bits b0<...<br- for x0<...<xb-: levels with branching nodes in trie SKETCH(xi) = xi restricted to important bits SKETCH preserves order: SKETCH(xi) < SKETCH(xj) xi < xj problem: does not hold for query q: SKETCH(xi) < SKETCH(q) SKETCH(xi+) xi < q xi+ 4 4
5 Example b = 3 0 b0 = SKETCH( )
6 Right Insertion Point SKETCH(xi) SKETCH(q) SKETCH(xi+) y max{lcp(q,xi), LCP(q,xi+)} point where q deviates from x i/xi+ most significant bit of q XOR xi/xi+ subtree of y must contain pred or succ repeat computation in that subtree 6 6
7 Right Insertion Point y y xi/xi+ q q xi/xi+ e=y e=y
8 Summary at every node of the B-tree with keys x0<...<xb- and important bits b0<...<br- TODO compute SKETCH(q) in O() time find i such that SKETCH(xi) SKETCH(q) SKETCH(xi+) y max{msb(q XOR x i),msb(q XOR xi+)} e q w-...qy-0... or qw-...qy compute SKETCH(e) in O() time find i' such that SKETCH(xi') SKETCH(e) SKETCH(xi'+) then x i' or xi'+ is predecessor or successor of q 8 TODO 2 TODO 3 8
9 TODO : MSB in O() time possible, but complicated if not supported by CPU: D.E. Knuth: The Art of Computer Programming, Vol. 4A. Addison-Wesley, 20. note the use of 5 multiplications 9 9
10 MSB in O(lg w) time idea: binary search over x with ANDs determine if search interval empty x= mask= x AND mask= continue in left half 0 0
11 MSB in O(lg w) time idea: binary search over x with ANDs determine if search interval empty x= mask= x AND mask= =0 continue in right half
12 MSB in O(lg w) time idea: binary search over x with ANDs determine if search interval empty x= mask= x AND mask= 0 0 continue in left half etc. 2 2
13 MSB in O(lg w) time neat variation of this idea: function MSB(x): λ 0 for k=lg(w)- downto 0 z x 2 k if (z 0) λ λ + 2 k x z return λ possible: table lookup for small blocks 3 3
14 Implementation unsigned int x; // 32-bit value to find the log2 of const unsigned int b[] = {0x2, 0xC, 0xF0, 0xFF00, 0xFFFF0000}; const unsigned int S[] = {, 2, 4, 8, 6}; int i; register unsigned int l = 0; // result will go here for (i = 4; i >= 0; i--) // unroll for speed... { if (x & b[i]) { x >>= S[i]; l = S[i]; } } see 4 4
15 Implementation with Table Lookup unsigned int l = 0; // will be lg(x) register unsigned int t, tt; // temporaries if (tt = x >> 6)! l = (t = x >> 24)? 24 + LogTable256[t] : 6 + LogTable256[tt & 0xFF]; else! l = (t = x >> 8)? 8 + LogTable256[t] : LogTable256[x]; return l; const char LogTable256[256] =! {!! 0,0,,,2,2,2,2,3,3,3,3,3,3,3,3,!! 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,!! 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,!! 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,!! 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,!! 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,!! 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,!! 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,!! 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,!! 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,!! 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,!! 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,!! 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,!! 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,!! 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,!! 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 5! }; 5
16 TODO 2: Computing SKETCH(q) q= br-... b3 b2 b b difficult! SKETCH(q)= APPSKETCH(q)= O(w 4/5 ) 6
17 APPSKETCH(q) q= br-... b3 b2 b b O(w 4/5 ) APPSKETCH'(q)= br-+mr-... b+m b0+m0 right shift by b0+m0 APPSKETCH(q)=
18 APPSKETCH'(q) q= br-... b3 b2 b b = B= = q AND B = = M= = *M= = = + APPSKETCH'(q)= br-+mr b+m b0+m0 = + 8
19 Requirements on mi's + should contain bits bi of q at, positions bi + mj no overflow a) bi + mj = bk + ml i=k and j=l b) b0 + m0 < b + m <... < br- + mr- c) (br- + mr-) - (b0 + m0) = O(w 4/5 ) 9 9
20 Existence of mi's strong (a): distinctness modulo r 3 : bi + m'j bk + m'l (mod r 3 ) i=k and j=l proof by induction: - for m' j avoid m'l + (bk-bi) (mod r 3 ) - for all 0 l < j, 0 k,i < r jr 2 < r 3 - r3 possible choices m'j exists can make bi + mi lie in different blocks of length r 3 : mj = m'j + ( (w-bj+jr 3 )/r 3 r 3 ) 20 20
21 Existence of mi's Requirements satisfied: a) bi + mj distinct modulo r 3 distinct overall b) bi + mi lie in consecutive r-blocks b0 + m0 < b + m <... < br- + mr- c) b0 + m0 = w bi + mi bi- + mi- + r 3 r<w (br- + mr-) - (b0 + m0) w+r 4 = O(w 4/5 ) 2 2
22 TODO 3: Finding q's Insertion Point B-tree node v with x0<...<xb-: find i s.th. APPSKETCH(xi) APPSKETCH(q) APPSKETCH(xi+) b=o(w /5 ) sketches of size O(w 4/5 ) b sketches fused=packed in O() words separate by -bits: APPSKETCH(v)=... APPSKETCH(x0) APPSKETCH(x) APPSKETCH(xb-) 22 22
23 APPSKETCH(q) = Parallel Comparison APPSKETCH(q) iff xi q C = APPSKETCH(v)=... APPSKETCH(x0) APPSKETCH(x) APPSKETCH(xb-)... APPSKETCH(q)*C= 0 APPSKETCH(q) 0 APPSKETCH(q) 0 0 APPSKETCH(q) = D 0...?...??...??...? APPSKETCH(v)-D= = Δ E= Δ AND E = xi's ordered 0 pattern will be find MSB 23 23
24 Summary multiple keys per B-tree node in O() time broadword computing: subtraction: parallel comparison AND: masking multiplication: - create copies - bit permutation O(lg n / lg w): beat information theoretic barrier of O(n lg n) 24 24
Lecture 2 September 4, 2014
CS 224: Advanced Algorithms Fall 2014 Prof. Jelani Nelson Lecture 2 September 4, 2014 Scribe: David Liu 1 Overview In the last lecture we introduced the word RAM model and covered veb trees to solve the
More informationAdvanced Data Structures
Simon Gog gog@kit.edu - Simon Gog: KIT The Research University in the Helmholtz Association www.kit.edu Predecessor data structures We want to support the following operations on a set of integers from
More informationAdvanced Data Structures
Simon Gog gog@kit.edu - Simon Gog: KIT University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association www.kit.edu Predecessor data structures We want to support
More informationCombinatorial algorithms
Combinatorial algorithms computing subset rank and unrank, Gray codes, k-element subset rank and unrank, computing permutation rank and unrank Jiří Vyskočil, Radek Mařík 2012 Combinatorial Generation definition:
More informationCS Data Structures and Algorithm Analysis
CS 483 - Data Structures and Algorithm Analysis Lecture VII: Chapter 6, part 2 R. Paul Wiegand George Mason University, Department of Computer Science March 22, 2006 Outline 1 Balanced Trees 2 Heaps &
More informationLecture 18 April 26, 2012
6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 18 April 26, 2012 1 Overview In the last lecture we introduced the concept of implicit, succinct, and compact data structures, and
More informationOrdered Dictionary & Binary Search Tree
Ordered Dictionary & Binary Search Tree Finite map from keys to values, assuming keys are comparable (). insert(k, v) lookup(k) aka find: the associated value if any delete(k) (Ordered set: No values;
More informationData Structures and Algorithms " Search Trees!!
Data Structures and Algorithms " Search Trees!! Outline" Binary Search Trees! AVL Trees! (2,4) Trees! 2 Binary Search Trees! "! < 6 2 > 1 4 = 8 9 Ordered Dictionaries" Keys are assumed to come from a total
More informationFixed-Universe Successor : Van Emde Boas. Lecture 18
Fixed-Universe Successor : Van Emde Boas Lecture 18 Fixed-universe successor problem Goal: Maintain a dynamic subset S of size n of the universe U = {0, 1,, u 1} of size u subject to these operations:
More informationA General Lower Bound on the I/O-Complexity of Comparison-based Algorithms
A General Lower ound on the I/O-Complexity of Comparison-based Algorithms Lars Arge Mikael Knudsen Kirsten Larsent Aarhus University, Computer Science Department Ny Munkegade, DK-8000 Aarhus C. August
More information1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is:
CS 24 Section #8 Hashing, Skip Lists 3/20/7 Probability Review Expectation (weighted average): the expectation of a random quantity X is: x= x P (X = x) For each value x that X can take on, we look at
More informationAdvanced Implementations of Tables: Balanced Search Trees and Hashing
Advanced Implementations of Tables: Balanced Search Trees and Hashing Balanced Search Trees Binary search tree operations such as insert, delete, retrieve, etc. depend on the length of the path to the
More informationLecture 7: Dynamic Programming I: Optimal BSTs
5-750: Graduate Algorithms February, 06 Lecture 7: Dynamic Programming I: Optimal BSTs Lecturer: David Witmer Scribes: Ellango Jothimurugesan, Ziqiang Feng Overview The basic idea of dynamic programming
More informationHakim Weatherspoon CS 3410 Computer Science Cornell University
Hakim Weatherspoon CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. memory inst 32 register
More informationToday s Outline. CS 362, Lecture 4. Annihilator Method. Lookup Table. Annihilators for recurrences with non-homogeneous terms Transformations
Today s Outline CS 362, Lecture 4 Jared Saia University of New Mexico Annihilators for recurrences with non-homogeneous terms Transformations 1 Annihilator Method Lookup Table Write down the annihilator
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programming II Date: 10/12/17
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programming II Date: 10/12/17 12.1 Introduction Today we re going to do a couple more examples of dynamic programming. While
More informationContent. 1 Static dictionaries. 2 Integer data structures. 3 Graph data structures. 4 Dynamization and persistence. 5 Cache-oblivious structures
Data strutures II NTIN067 Jira Fin https://timl.mff.cuni.cz/ fin/ Katedra teoreticé informatiy a matematicé logiy Matematico-fyziální faulta Univerzita Karlova v Praze Summer semester 08/9 Last change
More informationWords restricted by patterns with at most 2 distinct letters
Words restricted by patterns with at most 2 distinct letters Alexander Burstein Department of Mathematics Iowa State University Ames, IA 50011-2064 USA burstein@math.iastate.edu Toufik Mansour LaBRI, Université
More informationcse 311: foundations of computing Fall 2015 Lecture 11: Modular arithmetic and applications
cse 311: foundations of computing Fall 2015 Lecture 11: Modular arithmetic and applications arithmetic mod 7 a + 7 b = (a + b) mod 7 a 7 b = (a b) mod 7 5 6 0 1 2 4 3 + 0 1 2 3 4 5 6 0 0 1 2 3 4 5 6 1
More informationWeight-balanced Binary Search Trees
Weight-balanced Binary Search Trees Weight-balanced BSTs are one way to achieve O(lg n) tree height. For this purpose, weight means size+1: weight(x) = size(x) + 1. A weight-balanced BST: is a binary search
More informationCMP 334: Seventh Class
CMP 334: Seventh Class Performance HW 5 solution Averages and weighted averages (review) Amdahl's law Ripple-carry adder circuits Binary addition Half-adder circuits Full-adder circuits Subtraction, negative
More informationLecture 15 April 9, 2007
6.851: Advanced Data Structures Spring 2007 Mihai Pătraşcu Lecture 15 April 9, 2007 Scribe: Ivaylo Riskov 1 Overview In the last lecture we considered the problem of finding the predecessor in its static
More informationWeight-balanced Binary Search Trees
Weight-balanced Binary Search Trees Weight-balanced BSTs are one way to achieve O(lg n) tree height. A weight-balanced BST: is a binary search tree at every node v: Equivalently: ( weight means size+1)
More informationDictionary: an abstract data type
2-3 Trees 1 Dictionary: an abstract data type A container that maps keys to values Dictionary operations Insert Search Delete Several possible implementations Balanced search trees Hash tables 2 2-3 trees
More information2 P. L'Ecuyer and R. Simard otherwise perform well in the spectral test, fail this independence test in a decisive way. LCGs with multipliers that hav
Beware of Linear Congruential Generators with Multipliers of the form a = 2 q 2 r Pierre L'Ecuyer and Richard Simard Linear congruential random number generators with Mersenne prime modulus and multipliers
More informationBinary Search Trees. Lecture 29 Section Robb T. Koether. Hampden-Sydney College. Fri, Apr 8, 2016
Binary Search Trees Lecture 29 Section 19.2 Robb T. Koether Hampden-Sydney College Fri, Apr 8, 2016 Robb T. Koether (Hampden-Sydney College) Binary Search Trees Fri, Apr 8, 2016 1 / 40 1 Binary Search
More informationThe Membership Problem for a, b : bab 2 = ab
Semigroup Forum OF1 OF8 c 2000 Springer-Verlag New York Inc. DOI: 10.1007/s002330010009 RESEARCH ARTICLE The Membership Problem for a, b : bab 2 = ab D. A. Jackson Communicated by Gerard J. Lallement Throughout,
More informationDesign of Digital Circuits Reading: Binary Numbers. Required Reading for Week February 2017 Spring 2017
Design of Digital Circuits Reading: Binary Numbers Required Reading for Week 1 23-24 February 2017 Spring 2017 Binary Numbers Design of Digital Circuits 2016 Srdjan Capkun Frank K. Gürkaynak http://www.syssec.ethz.ch/education/digitaltechnik_16
More informationOn the Isomorphism Problem for Decision Trees and Decision Lists
On the Isomorphism Problem for Decision Trees and Decision Lists V. Arvind 1, Johannes Köbler 2, Sebastian Kuhnert 2, Gaurav Rattan 1, and Yadu Vasudev 1 1 The Institute of Mathematical Sciences, Chennai,
More informationLecture 6 September 21, 2016
ICS 643: Advanced Parallel Algorithms Fall 2016 Lecture 6 September 21, 2016 Prof. Nodari Sitchinava Scribe: Tiffany Eulalio 1 Overview In the last lecture, we wrote a non-recursive summation program and
More informationLecture 5: Arithmetic
Lecture 5: Arithmetic COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 5 Binary Representation of Integers Two physical states: call these 1 and
More informationECE260: Fundamentals of Computer Engineering
Data Representation & 2 s Complement James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Data
More informationComputer Architecture 10. Residue Number Systems
Computer Architecture 10 Residue Number Systems Ma d e wi t h Op e n Of f i c e. o r g 1 A Puzzle What number has the reminders 2, 3 and 2 when divided by the numbers 7, 5 and 3? x mod 7 = 2 x mod 5 =
More information6.854 Advanced Algorithms
6.854 Advanced Algorithms Homework Solutions Hashing Bashing. Solution:. O(log U ) for the first level and for each of the O(n) second level functions, giving a total of O(n log U ) 2. Suppose we are using
More informationSorting. CS 3343 Fall Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk
CS 3343 Fall 2010 Sorting Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk 10/7/10 CS 3343 Analysis of Algorithms 1 How fast can we sort? All the sorting algorithms we
More informationWeek 5: Quicksort, Lower bound, Greedy
Week 5: Quicksort, Lower bound, Greedy Agenda: Quicksort: Average case Lower bound for sorting Greedy method 1 Week 5: Quicksort Recall Quicksort: The ideas: Pick one key Compare to others: partition into
More informationLecture 8: Sequential Multipliers
Lecture 8: Sequential Multipliers ECE 645 Computer Arithmetic 3/25/08 ECE 645 Computer Arithmetic Lecture Roadmap Sequential Multipliers Unsigned Signed Radix-2 Booth Recoding High-Radix Multiplication
More informationGalois Field Algebra and RAID6. By David Jacob
Galois Field Algebra and RAID6 By David Jacob 1 Overview Galois Field Definitions Addition/Subtraction Multiplication Division Hardware Implementation RAID6 Definitions Encoding Error Detection Error Correction
More informationExponentiation and Point Multiplication. Çetin Kaya Koç Spring / 70
Exponentiation and Point Multiplication 1 2 3 4 5 6 8 7 10 9 12 16 14 11 13 15 20 http://koclab.org Çetin Kaya Koç Spring 2018 1 / 70 Contents Exponentiation and Point Multiplication Exponentiation and
More informationAlpha-Beta Pruning: Algorithm and Analysis
Alpha-Beta Pruning: Algorithm and Analysis Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Introduction Alpha-beta pruning is the standard searching procedure used for 2-person
More informationDecidable Subsets of CCS
Decidable Subsets of CCS based on the paper with the same title by Christensen, Hirshfeld and Moller from 1994 Sven Dziadek Abstract Process algebra is a very interesting framework for describing and analyzing
More informationA basis for the non-crossing partition lattice top homology
J Algebr Comb (2006) 23: 231 242 DOI 10.1007/s10801-006-7395-5 A basis for the non-crossing partition lattice top homology Eliana Zoque Received: July 31, 2003 / Revised: September 14, 2005 / Accepted:
More informationNumbers and Arithmetic
Numbers and Arithmetic See: P&H Chapter 2.4 2.6, 3.2, C.5 C.6 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Building a Processor memory inst register file alu
More informationWelcome to PR3 The Art of Optimization. Lecture 3 May 22nd, IGAD - Hopmanstraat, Breda
Lecture 3 May 22nd, 2015 - IGAD - Hopmanstraat, Breda Lecture 3 May 22nd, 2015 - IGAD - Hopmanstraat, Breda > Recap > Demo Time > SIMD part 1/3 > Fixed Point part 2/2 > Homework part 3/4 > Coding Time
More informationCalculating Algebraic Signatures Thomas Schwarz, S.J.
Calculating Algebraic Signatures Thomas Schwarz, S.J. 1 Introduction A signature is a small string calculated from a large object. The primary use of signatures is the identification of objects: equal
More informationCS 372: Computational Geometry Lecture 4 Lower Bounds for Computational Geometry Problems
CS 372: Computational Geometry Lecture 4 Lower Bounds for Computational Geometry Problems Antoine Vigneron King Abdullah University of Science and Technology September 20, 2012 Antoine Vigneron (KAUST)
More informationMidterm Exam. CS 3110: Design and Analysis of Algorithms. June 20, Group 1 Group 2 Group 3
Banner ID: Name: Midterm Exam CS 3110: Design and Analysis of Algorithms June 20, 2006 Group 1 Group 2 Group 3 Question 1.1 Question 2.1 Question 3.1 Question 1.2 Question 2.2 Question 3.2 Question 3.3
More informationData selection. Lower complexity bound for sorting
Data selection. Lower complexity bound for sorting Lecturer: Georgy Gimel farb COMPSCI 220 Algorithms and Data Structures 1 / 12 1 Data selection: Quickselect 2 Lower complexity bound for sorting 3 The
More informationLecture 5: The Shift-And Method
Biosequence Algorithms, Spring 2005 Lecture 5: The Shift-And Method Pekka Kilpeläinen University of Kuopio Department of Computer Science BSA Lecture 5: Shift-And p.1/19 Seminumerical String Matching Most
More informationAverage Case Analysis of QuickSort and Insertion Tree Height using Incompressibility
Average Case Analysis of QuickSort and Insertion Tree Height using Incompressibility Tao Jiang, Ming Li, Brendan Lucier September 26, 2005 Abstract In this paper we study the Kolmogorov Complexity of a
More informationArithmetic in Integer Rings and Prime Fields
Arithmetic in Integer Rings and Prime Fields A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 FA C 3 FA C 2 FA C 1 FA C 0 C 4 S 3 S 2 S 1 S 0 http://koclab.org Çetin Kaya Koç Spring 2018 1 / 71 Contents Arithmetic in Integer
More informationCyclic codes: overview
Cyclic codes: overview EE 387, Notes 14, Handout #22 A linear block code is cyclic if the cyclic shift of a codeword is a codeword. Cyclic codes have many advantages. Elegant algebraic descriptions: c(x)
More informationBinary Search Trees. Motivation
Binary Search Trees Motivation Searching for a particular record in an unordered list takes O(n), too slow for large lists (databases) If the list is ordered, can use an array implementation and use binary
More informationNew Minimal Weight Representations for Left-to-Right Window Methods
New Minimal Weight Representations for Left-to-Right Window Methods James A. Muir 1 and Douglas R. Stinson 2 1 Department of Combinatorics and Optimization 2 School of Computer Science University of Waterloo
More informationA Tight Lower Bound for Top-Down Skew Heaps
A Tight Lower Bound for Top-Down Skew Heaps Berry Schoenmakers January, 1997 Abstract Previously, it was shown in a paper by Kaldewaij and Schoenmakers that for topdown skew heaps the amortized number
More informationSearch and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012
Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Search and Lookahead Enforcing consistency is one way of solving constraint networks:
More informationIntroduction to Cryptography
B504 / I538: Introduction to Cryptography Spring 2017 Lecture 15 Assignment 3 is due! Assignment 4 is out and is due in three weeks! 1 Recall: One-way functions (OWFs) Intuitively, a one-way function (OWF)
More informationLecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz
Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 4 1 Circuit Complexity Circuits are directed, acyclic graphs where nodes are called gates and edges are called
More informationFast Sorting and Selection. A Lower Bound for Worst Case
Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 0 Fast Sorting and Selection USGS NEIC. Public domain government image. A Lower Bound
More informationDictionary: an abstract data type
2-3 Trees 1 Dictionary: an abstract data type A container that maps keys to values Dictionary operations Insert Search Delete Several possible implementations Balanced search trees Hash tables 2 2-3 trees
More informationGF(2 m ) arithmetic: summary
GF(2 m ) arithmetic: summary EE 387, Notes 18, Handout #32 Addition/subtraction: bitwise XOR (m gates/ops) Multiplication: bit serial (shift and add) bit parallel (combinational) subfield representation
More informationPractice Exam 1 CIS/CSE 607, Spring 2009
Practice Exam 1 CIS/CSE 607, Spring 2009 Problem 1) Let R be a reflexive binary relation on a set A. Prove that R is transitive if, and only if, R = R R. Problem 2) Give an example of a transitive binary
More informationRepresenting signed numbers in Two s Complement notation
EE457 Representing signed numbers in Two s Complement notation A way to view the signed number representation in 2 s complement notation as a positional weighted coefficient system. example ( 2) = (6 4
More information14:332:231 DIGITAL LOGIC DESIGN. 2 s-complement Representation
4:332:23 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 203 Lecture #3: Addition, Subtraction, Multiplication, and Division 2 s-complement Representation RECALL
More informationUNSIGNED BINARY NUMBERS DIGITAL ELECTRONICS SYSTEM DESIGN WHAT ABOUT NEGATIVE NUMBERS? BINARY ADDITION 11/9/2018
DIGITAL ELECTRONICS SYSTEM DESIGN LL 2018 PROFS. IRIS BAHAR & ROD BERESFORD NOVEMBER 9, 2018 LECTURE 19: BINARY ADDITION, UNSIGNED BINARY NUMBERS For the binary number b n-1 b n-2 b 1 b 0. b -1 b -2 b
More informationComputability and Complexity
Computability and Complexity Lecture 10 More examples of problems in P Closure properties of the class P The class NP given by Jiri Srba Lecture 10 Computability and Complexity 1/12 Example: Relatively
More informationCOMP 633: Parallel Computing Fall 2018 Written Assignment 1: Sample Solutions
COMP 633: Parallel Computing Fall 2018 Written Assignment 1: Sample Solutions September 12, 2018 I. The Work-Time W-T presentation of EREW sequence reduction Algorithm 2 in the PRAM handout has work complexity
More informationEquivalence. Two networks can look different but be the same. They can also appear similar, but be different. For example:
6-1 6-1 Equivalence Two networks can look different but be the same. They can also appear similar, but be different. For example: All of the networks below are banyans. The networks have other similarities
More information6.842 Randomness and Computation Lecture 5
6.842 Randomness and Computation 2012-02-22 Lecture 5 Lecturer: Ronitt Rubinfeld Scribe: Michael Forbes 1 Overview Today we will define the notion of a pairwise independent hash function, and discuss its
More informationSorting algorithms. Sorting algorithms
Properties of sorting algorithms A sorting algorithm is Comparison based If it works by pairwise key comparisons. In place If only a constant number of elements of the input array are ever stored outside
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK
More information10 van Emde Boas Trees
Dynamic Set Data Structure S: S. insert(x) S. delete(x) S. search(x) S. min() S. max() S. succ(x) S. pred(x) Ernst Mayr, Harald Räcke 389 For this chapter we ignore the problem of storing satellite data:
More informationWeak Heaps and Friends: Recent Developments
Weak Heaps and Friends: Recent Developments Stefan Edelkamp 1, Amr Elmasry 2, Jyrki Katajainen 3,4, 1) University of Bremen 2) Alexandria University 3) University of Copenhagen 4) Jyrki Katajainen and
More informationBinary Decision Diagrams
Binary Decision Diagrams Logic Circuits Design Seminars WS2010/2011, Lecture 2 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague
More informationAlgorithms for Collective Communication. Design and Analysis of Parallel Algorithms
Algorithms for Collective Communication Design and Analysis of Parallel Algorithms Source A. Grama, A. Gupta, G. Karypis, and V. Kumar. Introduction to Parallel Computing, Chapter 4, 2003. Outline One-to-all
More informationAlternative Combinatorial Gray Codes
Alternative Combinatorial Gray Codes Cormier-Iijima, Samuel sciyoshi@gmail.com December 17, 2010 Abstract Gray codes have numerous applications in a variety of fields, including error correction, encryption,
More informationLogic and Computer Design Fundamentals. Chapter 5 Arithmetic Functions and Circuits
Logic and Computer Design Fundamentals Chapter 5 Arithmetic Functions and Circuits Arithmetic functions Operate on binary vectors Use the same subfunction in each bit position Can design functional block
More informationOutline. Computer Science 331. Cost of Binary Search Tree Operations. Bounds on Height: Worst- and Average-Case
Outline Computer Science Average Case Analysis: Binary Search Trees Mike Jacobson Department of Computer Science University of Calgary Lecture #7 Motivation and Objective Definition 4 Mike Jacobson (University
More informationRandomized Sorting Algorithms Quick sort can be converted to a randomized algorithm by picking the pivot element randomly. In this case we can show th
CSE 3500 Algorithms and Complexity Fall 2016 Lecture 10: September 29, 2016 Quick sort: Average Run Time In the last lecture we started analyzing the expected run time of quick sort. Let X = k 1, k 2,...,
More informationProgramming Languages and Types
Programming Languages and Types Klaus Ostermann based on slides by Benjamin C. Pierce Where we re going Type Systems... Type systems are one of the most fascinating and powerful aspects of programming
More informationAssignment 5: Solutions
Comp 21: Algorithms and Data Structures Assignment : Solutions 1. Heaps. (a) First we remove the minimum key 1 (which we know is located at the root of the heap). We then replace it by the key in the position
More informationLecture #8: We now take up the concept of dynamic programming again using examples.
Lecture #8: 0.0.1 Dynamic Programming:(Chapter 15) We now take up the concept of dynamic programming again using examples. Example 1 (Chapter 15.2) Matrix Chain Multiplication INPUT: An Ordered set of
More informationQuiz 1 Solutions. (a) f 1 (n) = 8 n, f 2 (n) = , f 3 (n) = ( 3) lg n. f 2 (n), f 1 (n), f 3 (n) Solution: (b)
Introduction to Algorithms October 14, 2009 Massachusetts Institute of Technology 6.006 Spring 2009 Professors Srini Devadas and Constantinos (Costis) Daskalakis Quiz 1 Solutions Quiz 1 Solutions Problem
More informationA Simple Implementation Technique for Priority Search Queues
A Simple Implementation Technique for Priority Search Queues RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: ralf@cs.uu.nl Homepage: http://www.cs.uu.nl/~ralf/ April,
More informationVLSI Arithmetic. Lecture 9: Carry-Save and Multi-Operand Addition. Prof. Vojin G. Oklobdzija University of California
VLSI Arithmetic Lecture 9: Carry-Save and Multi-Operand Addition Prof. Vojin G. Oklobdzija University of California http://www.ece.ucdavis.edu/acsel Carry-Save Addition* *from Parhami 2 June 18, 2003 Carry-Save
More informationCprE 281: Digital Logic
CprE 281: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Signed Numbers CprE 281: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Administrative
More informationIntroduction to Complexity Theory. Bernhard Häupler. May 2, 2006
Introduction to Complexity Theory Bernhard Häupler May 2, 2006 Abstract This paper is a short repetition of the basic topics in complexity theory. It is not intended to be a complete step by step introduction
More informationWhat is SSA? each assignment to a variable is given a unique name all of the uses reached by that assignment are renamed
Another Form of Data-Flow Analysis Propagation of values for a variable reference, where is the value produced? for a variable definition, where is the value consumed? Possible answers reaching definitions,
More informationRMT 2013 Power Round Solutions February 2, 2013
RMT 013 Power Round Solutions February, 013 1. (a) (i) {0, 5, 7, 10, 11, 1, 14} {n N 0 : n 15}. (ii) Yes, 5, 7, 11, 16 can be generated by a set of fewer than 4 elements. Specifically, it is generated
More informationInteger factorization, part 1: the Q sieve. part 2: detecting smoothness. D. J. Bernstein
Integer factorization, part 1: the Q sieve Integer factorization, part 2: detecting smoothness D. J. Bernstein The Q sieve factors by combining enough -smooth congruences ( + ). Enough log. Plausible conjecture:
More informationINF2220: algorithms and data structures Series 1
Universitetet i Oslo Institutt for Informatikk I. Yu, D. Karabeg INF2220: algorithms and data structures Series 1 Topic Function growth & estimation of running time, trees (Exercises with hints for solution)
More informationMILP-based Cube Attack on the Reduced-Round WG-5 Lightweight Stream Cipher
MILP-based Cube Attack on the Reduced-Round WG-5 Lightweight Stream Cipher Raghvendra Rohit, Riham AlTawy, & Guang Gong Department of Electrical and Computer Engineering, University of Waterloo Waterloo,
More informationComplement Arithmetic
Complement Arithmetic Objectives In this lesson, you will learn: How additions and subtractions are performed using the complement representation, What is the Overflow condition, and How to perform arithmetic
More informationSorting. CMPS 2200 Fall Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk
CMPS 2200 Fall 2017 Sorting Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 11/17/17 CMPS 2200 Intro. to Algorithms 1 How fast can we sort? All the sorting algorithms
More informationTemporal Constraint Networks
Ch. 5b p.1/24 Temporal Constraint Networks Addition to Chapter 5 Ch. 5b p.2/24 Outline Qualitative networks The interval algebra The point algebra Quantitative temporal networks Reference: Chapter 12 of
More informationShamir s Theorem. Johannes Mittmann. Technische Universität München (TUM)
IP = PSPACE Shamir s Theorem Johannes Mittmann Technische Universität München (TUM) 4 th Joint Advanced Student School (JASS) St. Petersburg, April 2 12, 2006 Course 1: Proofs and Computers Johannes Mittmann
More informationDatabase Theory VU , SS Ehrenfeucht-Fraïssé Games. Reinhard Pichler
Database Theory Database Theory VU 181.140, SS 2018 7. Ehrenfeucht-Fraïssé Games Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Pichler 15
More informationB- TREE. Michael Tsai 2017/06/06
B- TREE Michael Tsai 2017/06/06 2 B- Tree Overview Balanced search tree Very large branching factor Height = O(log n), but much less than that of RB tree Usage: Large amount of data to be stored - - Partially
More informationlsb(x) = Least Significant Bit?
lsb(x) = Least Significant Bit? w-1 lsb i 1 0 x 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 msb(x) in O(1) steps using 5 multiplications [M.L. Fredman, D.E. Willard, Surpassing the information-theoretic bound with
More informationBinary addition by hand. Adding two bits
Chapter 3 Arithmetic is the most basic thing you can do with a computer We focus on addition, subtraction, multiplication and arithmetic-logic units, or ALUs, which are the heart of CPUs. ALU design Bit
More information