Wrap up Amortized Analysis; AVL Trees. Riley Porter Winter CSE373: Data Structures & Algorithms
|
|
- Pauline James
- 5 years ago
- Views:
Transcription
1 CSE 373: Data Structures & Wrap up Amortized Analysis; AVL Trees Riley Porter
2 Course Logistics Symposium offered by CSE department today HW2 released, Big- O, Heaps (lecture slides ave pseudocode tat will elp a lot) Weekly summaries out soon 2
3 Review: Amortized Complexity For a Stack implemented wit an array can we claim pus is O() Eme if resizing is O(n) Eme? We can t, but we can claim it s an O() amorezed operaeon Wy is tis good? Wy do we care? If amorezed is good enoug for our problem, ten it s great to be able to say O() instead of O(n) 3
4 Review: Amortized Complexity Like an Average. N inserts at unit cost + insert at N unit cost = N * + * N 2N overall cost for N + insereons = 2N cost / (N + ) insereons = O( 2N/(N+) ) = O() amorezed cost 4
5 Not-Amortized Complexity Wat if we only add 3 slots instead of N slots? 3 inserts at unit cost + insert at N unit cost = 3 * + * N = N + 3 overall cost for N + insereons = N + 3 cost / (3 + ) insereons = O( (N+3)/(3+) ) = O(N) Not AmorEzed! Didn t build up enoug credit 5
6 Example #: Resizing stack A stack implemented wit an array were we double te size of te array if it becomes full Claim: Any sequence of pus/pop/isempty is amorezed O() Need to sow any sequence of M operaeons takes Eme O(M) Recall te non- resizing work is O(M) (i.e., M*O()) Te resizing work is proporeonal to te total number of element copies we do for te resizing So it suffices to sow tat: A^er M operaeons, we ave done < 2M total element copies (So average number of copies per operaeon is bounded by a constant) 6
7 Amount of copying After M operations, we ave done < 2M total element copies Let n be te size of te array after M operations Ten we ave done a total of: n/2 + n/4 + n/8 + INITIAL_SIZE < n element copies Because we must ave done at least enoug pus operations to cause resizing up to size n: M n/2 So 2M n > number of element copies 7
8 Have to be careful If array grows by a constant amount (say 000), operaeons are not amorezed O() A^er O(M) operaeons, you may ave done Θ(M 2 ) copies If array doubles wen full and srinks wen /2 empty, operaeons are not amorezed O() Terrible case: pop once and srink, pus once and grow, pop once and srink, If array doubles wen full and srinks wen 3/4 empty, it is amorezed O() Proof is more complicated, but basic idea remains: by te Eme an expensive operaeon occurs, many ceap ones occurred 8
9 Amortized Complexity Summary Like an average You re building up credit wit N ceap tasks proporeonal to expensive N task SomeEmes ard to prove, but useful if your applicaeon doesn t require every single operaeon to be ceap. Tere s anoter example on slides from Wednesday involving Queues, if you re curious 9
10 Review: Balanced BST Observa=on BST: te sallower te beeer! For a BST wit n nodes inserted in arbitrary order Average eigt is O(log n) see text for proof Worst case eigt is O(n) Simple cases, suc as insereng in key order, lead to te worst- case scenario Solu=on: Require a Balance Condi:on tat. Ensures dept is always O(log n) strong enoug! 2. Is efficient to maintain not too strong!
11 Te AVL Balance Condition Le^ and rigt subtrees of every node ave eigts differing by at most Defini=on: balance(node) = eigt(node.le^) eigt(node.rigt) AVL property: for every node x, balance(x) Ensures small dept Will prove tis by sowing tat an AVL tree of eigt must ave a number of nodes exponen=al in Efficient to maintain using single and double rotaeons
12 Te AVL Tree Data Structure Structural proper=es. Binary tree property 2. Balance property: balance of every node is between - and 8 Result: 5 Worst- case dept is O(log n) Ordering property Same as for BST Defini=on: balance(node) = eigt(node.le^) eigt(node.rigt) 5
13 An AVL tree? 6 Heigt = 3 Balance = - 4 Heigt = Balance = 8 Heigt = 2 Balance = - Heigt = 0 Balance = 0 7 Heigt = 0 Balance = Heigt = Balance = 0 Heigt = 0 Balance = 0 Heigt = 0 Balance = 0
14 An AVL tree? Heigt = 2 Balance = -2 Heigt = 3 Balance = Heigt = Balance = 6 Heigt = 0 Balance = 0 Heigt = 4 Balance = 2 7 Heigt = 0 Balance = 0 8 Heigt = Balance = 0 Heigt = 0 Balance = 0 2 Heigt = 0 Balance = 0 No!
15 Intuition: compactness If te eigts differ by at most, your two subtrees are rougly te same size If tis is true at every node, it s true all te way down If tis is true all te way down, your tree winds up compact. Heigt is O(logN) We ll revisit te formal proof of tis soon -2 -
16 AVL Operations If we ave an AVL tree, te eigt is O(log n), so find is O(log n) But as we insert and delete elements, we need to:. Track balance 2. Detect imbalance 3. Restore balance 0 Is tis AVL tree balanced? Yep! 5 5 How about after insert(30)? No, now te Balance of 5 is off 7 30
17 Keep te tree balanced 0 key 3 value 0 3 eigt cildren Track eigt at all times!
18 AVL find: Same as BST find AVL tree Operations AVL insert: First BST insert, ten ceck balance and potentially fix te AVL tree Four different imbalance cases AVL delete: Te easy way is lazy deletion Oterwise, do te deletion and ten ave several imbalance cases
19 Insert: detect potential imbalance. Insert te new node as in a BST (a new leaf) 2. For eac node on te pat from te root to te new leaf, te insereon may (or may not) ave canged te node s eigt 3. So a^er recursive insereon in a subtree, detect eigt imbalance and perform a rota(on to restore balance at tat node Type of rotaeon will depend on te locaeon of te imbalance (if any) Facts about insert imbalances: If tere s an imbalance, tere must be a deepest element tat is imbalanced a^er te insert A^er rebalancing tis deepest node, every node is balanced So at most one node needs to be rebalanced
20 Case #: Example Insert(6) Insert(3) Insert() Tird insereon violates balance property appens to be at te root Wat is te only way to fix tis (te only valid AVL tree wit tese nodes?
21 Fix: Apply Single Rotation Single rota=on: Te basic operaeon we ll use to rebalance Move cild of unbalanced node into parent posieon Parent becomes te oter cild (always okay in a BST!) Oter subtrees move in only way BST allows (next slide) AVL Property violated ere Intuition: 3 must become root New parent eigt is now te old parent s eigt before insert 0
22 Te example generalized Node imbalanced due to insereon somewere in len- len grandcild tat causes an increasing eigt of 4 possible imbalance causes (oter tree coming) First we did te insereon, wic would make a imbalanced + b a +2 a +2 b + Z +3 Z X Y X Y
23 Te general left-left case Node imbalanced due to insereon somewere in len- len grandcild of 4 possible imbalance causes (oter tree coming) So we rotate at a,using BST facts: X < b < Y < a < Z a +2 b + X Y +3 b + Z X Y +2 + a Z A single rotaeon restores balance at te node To same eigt as before insereon, so ancestors now balanced
24 Anoter example: insert(6) Were is te imbalance?
25 Anoter example: insert(6) Were is te imbalance? 22
26 Anoter example: insert(6)
27 Te general rigt-rigt case Mirror image to le^- le^ case, so you rotate te oter way Exact same concept, but need different code X a b + + a b +2 + Z Y Z X Y
28 Case 3 & 4: left-rigt and rigt-left 2 6 Insert() Insert(6) Insert(3) Is tere a single rotaeon tat can fix eiter tree? 6 Insert(6) Insert() Insert(3) 3 0
29 Wrong rotation #: Unfortunately, single rotaeons are not enoug for insereons in te len- rigt subtree or te rigt- len subtree Simple example: insert(), insert(6), insert(3) First wrong idea: single rotaeon like we did for le^- le^
30 Wrong rotation #2: Unfortunately, single rotaeons are not enoug for insereons in te len- rigt subtree or te rigt- len subtree Simple example: insert(), insert(6), insert(3) Second wrong idea: single rotaeon on te cild of te unbalanced node
31 Sometimes two wrongs make a rigt First idea violated te BST property Second idea didn t fix balance But if we do bot single rotaeons, stareng wit te second, it works! (And not just for tis example.) Double rotaeon:. Rotate problemaec cild and grandcild 2. Ten rotate between self and new cild Intuition: 3 must become root
32 Te general rigt-left case X +3 a X U +3 a U + c V +2 c b - V +2 b - Z + X + a Rotation : b.left = c.rigt c.rigt = b a.rigt = c Rotation 2: U a.rigt = c.left c.left = a root = c c +2 - V b + Z Z
33 Comments Like in te le^- le^ and rigt- rigt cases, te eigt of te subtree a^er rebalancing is te same as before te insert So no ancestor in te tree will need rebalancing Does not ave to be implemented as two rotaeons; can just do: X +3 a U + c V b - +2 Z X + a U c +2 b - V + Z Easier to remember tan you may tink: ) Move c to grandparent s posieon 2) Put a, b, X, U, V, and Z in te only legal posieons for a BST
34 Te last case: left-rigt X Mirror image of rigt- le^ Again, no new concepts, only new code to write +2 b U +3 c a + V - Z X + b U c +2 - V a + Z
35 Insert, summarized Insert as in a BST Ceck back up pat for imbalance, wic will be of 4 cases: Node s le^- le^ grandcild is too tall (len- len single rota:on) Node s le^- rigt grandcild is too tall (len- rigt double rota:on) Node s rigt- le^ grandcild is too tall (rigt- len double rota:on) Node s rigt- rigt grandcild is too tall (rigt- rigt double rota:on) Only one case occurs because tree was balanced before insert A^er te appropriate single or double rotaeon, te smallest- unbalanced subtree as te same eigt as before te insereon So all ancestors are now balanced
36 Efficiency Worst-case complexity of find: O(log n) Tree is balanced Worst-case complexity of insert: O(log n) Tree starts balanced A rotation is O() and tere s an O(log n) pat to root (Same complexity even witout one-rotation-is-enoug fact) Tree ends balanced Worst-case complexity of buildtree: O(n log n) Takes some more rotation action to andle delete
37 Pros and Cons of AVL Trees Arguments for AVL trees:. All operaeons logaritmic worst- case because trees are always balanced 2. Heigt balancing adds no more tan a constant factor to te speed of insert and delete Arguments against AVL trees:. Difficult to program & debug [but done once in a library!] 2. More space for eigt field 3. AsymptoEcally faster but rebalancing takes a liele Eme 4. Most large searces are done in database- like systems on disk and use oter structures (e.g., B- trees, a data structure in te text) 5. If amor=zed (later, I promise) logaritmic Eme is enoug, use splay trees (also in text)
38 Today s Takeaways Review of Amortized Analysis: feel comfortable proving a runtime s amortized cost AVL trees: understand te AVL balance condition be able to identify AVL trees intuition on wy te eigt is O(logN) understand AVL inserts and rotations
Announcements. Lilian s office hours rescheduled: Fri 2-4pm HW2 out tomorrow, due Thursday, 7/7. CSE373: Data Structures & Algorithms
Announcements Lilian s office ours resceduled: Fri 2-4pm HW2 out tomorrow, due Tursday, 7/7 CSE373: Data Structures & Algoritms Deletion in BST 2 5 5 2 9 20 7 0 7 30 Wy migt deletion be arder tan insertion?
More informationCSE 332: Data Structures & Parallelism Lecture 8: AVL Trees. Ruth Anderson Winter 2019
CSE 2: Data Structures & Parallelism Lecture 8: AVL Trees Rut Anderson Winter 29 Today Dictionaries AVL Trees /25/29 2 Te AVL Balance Condition: Left and rigt subtrees of every node ave eigts differing
More informationCS 234. Module 6. October 16, CS 234 Module 6 ADT Dictionary 1 / 33
CS 234 Module 6 October 16, 2018 CS 234 Module 6 ADT Dictionary 1 / 33 Idea for an ADT Te ADT Dictionary stores pairs (key, element), were keys are distinct and elements can be any data. Notes: Tis is
More informationCE 221 Data Structures and Algorithms
CE Data Structures and Algoritms Capter 4: Trees (AVL Trees) Text: Read Weiss, 4.4 Izmir University of Economics AVL Trees An AVL (Adelson-Velskii and Landis) tree is a binary searc tree wit a balance
More informationBinary Search Tree - Best Time. AVL Trees. Binary Search Tree - Worst Time. Balanced and unbalanced BST
AL Trees CSE Data Structures Unit Reading: Section 4.4 Binary Searc Tree - Best Time All BST operations are O(d), were d is tree dept minimum d is d = log for a binary tree N wit N nodes at is te best
More informationAVL Trees Outline and Required Reading: AVL Trees ( 11.2) CSE 2011, Winter 2017 Instructor: N. Vlajic
1 AVL Trees Outline and Required Reading: AVL Trees ( 11.2) CSE 2011, Winter 2017 Instructor: N. Vlajic AVL Trees 2 Binary Searc Trees better tan linear dictionaries; owever, te worst case performance
More informationCS 234. Module 6. October 25, CS 234 Module 6 ADT Dictionary 1 / 22
CS 234 Module 6 October 25, 2016 CS 234 Module 6 ADT Dictionary 1 / 22 Case study Problem: Find a way to store student records for a course, wit unique IDs for eac student, were records can be accessed,
More informationeach node in the tree, the difference in height of its two subtrees is at the most p. AVL tree is a BST that is height-balanced-1-tree.
Data Structures CSC212 1 AVL Trees A binary tree is a eigt-balanced-p-tree if for eac node in te tree, te difference in eigt of its two subtrees is at te most p. AVL tree is a BST tat is eigt-balanced-tree.
More information1 Copyright 2012 by Pearson Education, Inc. All Rights Reserved.
CHAPTER 20 AVL Trees Objectives To know wat an AVL tree is ( 20.1). To understand ow to rebalance a tree using te LL rotation, LR rotation, RR rotation, and RL rotation ( 20.2). To know ow to design te
More informationAdvanced Tree. Structures. AVL Tree. Outline. AVL Tree Recall, Binary Search Tree (BST) is a special case of. Splay Tree (Ch 13.2.
ttp://1...0/csd/ Data tructure Capter 1 Advanced Tree tructures Dr. atrick Can cool of Computer cience and Engineering out Cina Universit of Tecnolog AVL Tree Recall, Binar earc Tree (BT) is a special
More informationWhen a BST becomes badly unbalanced, the search behavior can degenerate to that of a sorted linked list, O(N).
Balanced Binary Trees Binary searc trees provide O(log N) searc times provided tat te nodes are distributed in a reasonably balanced manner. Unfortunately, tat is not always te case and performing a sequence
More informationData Structures and Programming Spring 2014, Midterm Exam.
Data Structures and Programming Spring 2014, Midterm Exam. 1. (10 pts) Order te following functions 2.2 n, log(n 10 ), 2 2012, 25n log(n), 1.1 n, 2n 5.5, 4 log(n), 2 10, n 1.02, 5n 5, 76n, 8n 5 + 5n 2
More information15-122: Principles of Imperative Computation, Summer 2011 Assignment 6: Trees and Secret Codes
15-122: Principles of Imperative Computation, Summer 2011 Assignment 6: Trees and Secret Codes William Lovas (wlovas@cs) Karl Naden Out: Tuesday, Friday, June 10, 2011 Due: Monday, June 13, 2011 (Written
More informationLecture 7. Binary Search Trees / AVL Trees
Lecture 7. Binary Searc Trees / AVL Trees T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to Algoritms, 3rd Edition, MIT Press, 2009 Sungkyunkwan University Hyunseung Coo coo@skku.edu Copyrigt
More informationSection 2.3: Calculating Limits using the Limit Laws
Section 2.3: Calculating Limits using te Limit Laws In previous sections, we used graps and numerics to approimate te value of a it if it eists. Te problem wit tis owever is tat it does not always give
More informationHaar Transform CS 430 Denbigh Starkey
Haar Transform CS Denbig Starkey. Background. Computing te transform. Restoring te original image from te transform 7. Producing te transform matrix 8 5. Using Haar for lossless compression 6. Using Haar
More informationDesign Patterns for Data Structures. Chapter 10. Balanced Trees
Capter 10 Balanced Trees Capter 10 Four eigt-balanced trees: Red-Black binary tree Faster tan AVL for insertion and removal Adelsen-Velskii Landis (AVL) binary tree Faster tan red-black for lookup B-tree
More informationRecall from Last Time: AVL Trees
CSE 326 Lecture 8: Getting to now AVL Trees Today s Topics: Balanced Search Trees AVL Trees and Rotations Splay trees Covered in Chapter 4 of the text Recall from Last Time: AVL Trees AVL trees are height-balanced
More informationThe AVL Balance Condition. CSE 326: Data Structures. AVL Trees. The AVL Tree Data Structure. Is this an AVL Tree? Height of an AVL Tree
CSE : Data Structures AL Trees Neva Cernavsy Summer Te AL Balance Condton AL balance property: Left and rgt subtrees of every node ave egts dfferng by at most Ensures small dept ll prove ts by sowng tat
More informationDesign Patterns for Data Structures. Chapter 10. Balanced Trees
Capter 10 Balanced Trees Capter 10 Four eigt-balanced trees: Red-Black binary tree Faster tan AVL for insertion and removal Adelsen-Velskii Landis (AVL) binary tree Faster tan red-black for lookup B-tree
More informationTREES. General Binary Trees The Search Tree ADT Binary Search Trees AVL Trees Threaded trees Splay Trees B-Trees. UNIT -II
UNIT -II TREES General Binary Trees Te Searc Tree DT Binary Searc Trees VL Trees Treaded trees Splay Trees B-Trees. 2MRKS Q& 1. Define Tree tree is a data structure, wic represents ierarcical relationsip
More informationMATH 5a Spring 2018 READING ASSIGNMENTS FOR CHAPTER 2
MATH 5a Spring 2018 READING ASSIGNMENTS FOR CHAPTER 2 Note: Tere will be a very sort online reading quiz (WebWork) on eac reading assignment due one our before class on its due date. Due dates can be found
More informationCSE373: Data Structures & Algorithms Lecture 9: Priority Queues. Aaron Bauer Winter 2014
CSE373: Data Structures & Algorithms Lecture 9: Priority Queues Aaron Bauer Winter 2014 Midterm On Wednesday, in class Closed book Closed note Closed electronic devices Closed classmate Covers everything
More informationAVL Trees. CSE260, Computer Science B: Honors Stony Brook University
AVL Trees CSE260, Computer Science B: Honors Stony Brook University ttp://www.cs.stonybrook.edu/~cse260 1 Objectives To know wat an AVL tree is To understand ow to rebalance a tree using te LL rotation,
More informationCOMP171. AVL-Trees (Part 1)
COMP11 AVL-Trees (Part 1) AVL Trees / Slide 2 Data, a set of elements Data structure, a structured set of elements, linear, tree, graph, Linear: a sequence of elements, array, linked lists Tree: nested
More informationDeletion The Two Child Case 10 Delete(5) Deletion The Two Child Case. Balanced BST. Finally
Deletion Te Two Cild Cse Delete() Deletion Te Two Cild Cse Ide: Replce te deleted node wit vlue gurnteed to e etween te two cild sutrees! Options: succ from rigt sutree: findmin(t.rigt) pred from left
More informationAVL Trees. (AVL Trees) Data Structures and Programming Spring / 17
AVL Trees (AVL Trees) Data Structures and Programming Spring 2017 1 / 17 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
More information4.2 The Derivative. f(x + h) f(x) lim
4.2 Te Derivative Introduction In te previous section, it was sown tat if a function f as a nonvertical tangent line at a point (x, f(x)), ten its slope is given by te it f(x + ) f(x). (*) Tis is potentially
More informationBounding Tree Cover Number and Positive Semidefinite Zero Forcing Number
Bounding Tree Cover Number and Positive Semidefinite Zero Forcing Number Sofia Burille Mentor: Micael Natanson September 15, 2014 Abstract Given a grap, G, wit a set of vertices, v, and edges, various
More informationCSE373: Data Structures & Algorithms Lecture 12: Amortized Analysis and Memory Locality. Linda Shapiro Winter 2015
CSE373: Data Structures & Algorithms Lecture 12: Amortized Analysis and Memory Locality Linda Shapiro Winter 2015 Announcements Winter 2015 CSE 373 Data structures and Algorithms 2 Amortized Analysis In
More informationMaterials: Whiteboard, TI-Nspire classroom set, quadratic tangents program, and a computer projector.
Adam Clinc Lesson: Deriving te Derivative Grade Level: 12 t grade, Calculus I class Materials: Witeboard, TI-Nspire classroom set, quadratic tangents program, and a computer projector. Goals/Objectives:
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 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 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 information2 The Derivative. 2.0 Introduction to Derivatives. Slopes of Tangent Lines: Graphically
2 Te Derivative Te two previous capters ave laid te foundation for te study of calculus. Tey provided a review of some material you will need and started to empasize te various ways we will view and use
More informationHash-Based Indexes. Chapter 11. Comp 521 Files and Databases Fall
Has-Based Indexes Capter 11 Comp 521 Files and Databases Fall 2012 1 Introduction Hasing maps a searc key directly to te pid of te containing page/page-overflow cain Doesn t require intermediate page fetces
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 informationAVL Trees / Slide 2. AVL Trees / Slide 4. Let N h be the minimum number of nodes in an AVL tree of height h. AVL Trees / Slide 6
COMP11 Spring 008 AVL Trees / Slide Balanced Binary Search Tree AVL-Trees Worst case height of binary search tree: N-1 Insertion, deletion can be O(N) in the worst case We want a binary search tree with
More informationCSE 326: Data Structures Splay Trees. James Fogarty Autumn 2007 Lecture 10
CSE 32: Data Structures Splay Trees James Fogarty Autumn 2007 Lecture 10 AVL Trees Revisited Balance condition: Left and right subtrees of every node have heights differing by at most 1 Strong enough :
More informationCSE373: Data Structures & Algorithms Lecture 4: Dictionaries; Binary Search Trees. Kevin Quinn Fall 2015
CSE373: Data Structures & Algorithms Lecture 4: Dictionaries; Binary Search Trees Kevin Quinn Fall 2015 Where we are Studying the absolutely essential ADTs of computer science and classic data structures
More informationHash-Based Indexes. Chapter 11. Comp 521 Files and Databases Spring
Has-Based Indexes Capter 11 Comp 521 Files and Databases Spring 2010 1 Introduction As for any index, 3 alternatives for data entries k*: Data record wit key value k
More informationCSE 332: Data Structures & Parallelism Lecture 7: Dictionaries; Binary Search Trees. Ruth Anderson Winter 2019
CSE 332: Data Structures & Parallelism Lecture 7: Dictionaries; Binary Search Trees Ruth Anderson Winter 2019 Today Dictionaries Trees 1/23/2019 2 Where we are Studying the absolutely essential ADTs of
More informationAnnouncements SORTING. Prelim 1. Announcements. A3 Comments 9/26/17. This semester s event is on Saturday, November 4 Apply to be a teacher!
Announcements 2 "Organizing is wat you do efore you do someting, so tat wen you do it, it is not all mixed up." ~ A. A. Milne SORTING Lecture 11 CS2110 Fall 2017 is a program wit a teac anyting, learn
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 information4.1 Tangent Lines. y 2 y 1 = y 2 y 1
41 Tangent Lines Introduction Recall tat te slope of a line tells us ow fast te line rises or falls Given distinct points (x 1, y 1 ) and (x 2, y 2 ), te slope of te line troug tese two points is cange
More informationCSE373: Data Structures & Algorithms Lecture 12: Amortized Analysis and Memory Locality. Lauren Milne Spring 2015
CSE373: Data Structures & Algorithms Lecture 12: Amortized Analysis and Memory Locality Lauren Milne Spring 2015 Announcements Homework 3 due on Wednesday at 11pm Catie back Monday Spring 2015 CSE 373
More information6 Computing Derivatives the Quick and Easy Way
Jay Daigle Occiental College Mat 4: Calculus Experience 6 Computing Derivatives te Quick an Easy Way In te previous section we talke about wat te erivative is, an we compute several examples, an ten we
More information3.6 Directional Derivatives and the Gradient Vector
288 CHAPTER 3. FUNCTIONS OF SEVERAL VARIABLES 3.6 Directional Derivatives and te Gradient Vector 3.6.1 Functions of two Variables Directional Derivatives Let us first quickly review, one more time, te
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 information2.8 The derivative as a function
CHAPTER 2. LIMITS 56 2.8 Te derivative as a function Definition. Te derivative of f(x) istefunction f (x) defined as follows f f(x + ) f(x) (x). 0 Note: tis differs from te definition in section 2.7 in
More information12.2 Investigate Surface Area
Investigating g Geometry ACTIVITY Use before Lesson 12.2 12.2 Investigate Surface Area MATERIALS grap paper scissors tape Q U E S T I O N How can you find te surface area of a polyedron? A net is a pattern
More information1.4 RATIONAL EXPRESSIONS
6 CHAPTER Fundamentals.4 RATIONAL EXPRESSIONS Te Domain of an Algebraic Epression Simplifying Rational Epressions Multiplying and Dividing Rational Epressions Adding and Subtracting Rational Epressions
More information, 1 1, A complex fraction is a quotient of rational expressions (including their sums) that result
RT. Complex Fractions Wen working wit algebraic expressions, sometimes we come across needing to simplify expressions like tese: xx 9 xx +, xx + xx + xx, yy xx + xx + +, aa Simplifying Complex Fractions
More informationCSCE476/876 Spring Homework 5
CSCE476/876 Spring 2016 Assigned on: Friday, Marc 11, 2016 Due: Monday, Marc 28, 2016 Homework 5 Programming assignment sould be submitted wit andin Te report can eiter be submitted wit andin as a PDF,
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 information19.2 Surface Area of Prisms and Cylinders
Name Class Date 19 Surface Area of Prisms and Cylinders Essential Question: How can you find te surface area of a prism or cylinder? Resource Locker Explore Developing a Surface Area Formula Surface area
More information10/23/2013. AVL Trees. Height of an AVL Tree. Height of an AVL Tree. AVL Trees
// AVL Trees AVL Trees An AVL tree is a binary search tree with a balance condition. AVL is named for its inventors: Adel son-vel skii and Landis AVL tree approximates the ideal tree (completely balanced
More informationCh04 Balanced Search Trees
Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 05 Ch0 Balanced Search Trees v 3 8 z Why care about advanced implementations? Same entries,
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 informationECE250: Algorithms and Data Structures AVL Trees (Part A)
ECE250: Algorithms and Data Structures AVL Trees (Part A) Ladan Tahvildari, PEng, SMIEEE Associate Professor Software Technologies Applied Research (STAR) Group Dept. of Elect. & Comp. Eng. University
More informationAVL Trees (10.2) AVL Trees
AVL Trees (0.) CSE 0 Winter 0 8 February 0 AVL Trees AVL trees are balanced. An AVL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by
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 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 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 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 informationOutline for Today. Why could we construct them in time O(n)? Analyzing data structures over the long term.
Amortized Analysis Outline for Today Euler Tour Trees A quick bug fix from last time. Cartesian Trees Revisited Why could we construct them in time O(n)? Amortized Analysis Analyzing data structures over
More informationData Structures Lesson 7
Data Structures Lesson 7 BSc in Computer Science University of New York, Tirana Assoc. Prof. Dr. Marenglen Biba 1-1 Binary Search Trees For large amounts of input, the linear access time of linked lists
More informationCS350: Data Structures AVL Trees
S35: Data Structures VL Trees James Moscola Department of Engineering & omputer Science York ollege of Pennsylvania S35: Data Structures James Moscola Balanced Search Trees Binary search trees are not
More informationMulti-Stack Boundary Labeling Problems
Multi-Stack Boundary Labeling Problems Micael A. Bekos 1, Micael Kaufmann 2, Katerina Potika 1 Antonios Symvonis 1 1 National Tecnical University of Atens, Scool of Applied Matematical & Pysical Sciences,
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 informationSORTING 9/26/18. Prelim 1. Prelim 1. Why Sorting? InsertionSort. Some Sorting Algorithms. Tonight!!!! Two Sessions:
Prelim 1 2 "Organizing is wat you do efore you do someting, so tat wen you do it, it is not all mixed up." ~ A. A. Milne SORTING Tonigt!!!! Two Sessions: You sould now y now wat room to tae te final. Jenna
More informationMore on Functions and Their Graphs
More on Functions and Teir Graps Difference Quotient ( + ) ( ) f a f a is known as te difference quotient and is used exclusively wit functions. Te objective to keep in mind is to factor te appearing in
More informationRecall: Properties of B-Trees
CSE 326 Lecture 10: B-Trees and Heaps It s lunch time what s cookin? B-Trees Insert/Delete Examples and Run Time Analysis Summary of Search Trees Introduction to Heaps and Priority Queues Covered in Chapters
More informationNumerical Derivatives
Lab 15 Numerical Derivatives Lab Objective: Understand and implement finite difference approximations of te derivative in single and multiple dimensions. Evaluate te accuracy of tese approximations. Ten
More informationCS60020: Foundations of Algorithm Design and Machine Learning. Sourangshu Bhattacharya
CS62: Foundations of Algorithm Design and Machine Learning Sourangshu Bhattacharya Binary Search Tree - Best Time All BST operations are O(d), where d is tree depth minimum d is d = ëlog for a binary tree
More informationCS60020: Foundations of Algorithm Design and Machine Learning. Sourangshu Bhattacharya
CS62: Foundations of Algorithm Design and Machine Learning Sourangshu Bhattacharya Balanced search trees Balanced search tree: A search-tree data structure for which a height of O(lg n) is guaranteed when
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 informationWhen the dimensions of a solid increase by a factor of k, how does the surface area change? How does the volume change?
8.4 Surface Areas and Volumes of Similar Solids Wen te dimensions of a solid increase by a factor of k, ow does te surface area cange? How does te volume cange? 1 ACTIVITY: Comparing Surface Areas and
More informationBinary Search Trees. Analysis of Algorithms
Binary Search Trees Analysis of Algorithms Binary Search Trees A BST is a binary tree in symmetric order 31 Each node has a key and every node s key is: 19 23 25 35 38 40 larger than all keys in its left
More informationNOTES: A quick overview of 2-D geometry
NOTES: A quick overview of 2-D geometry Wat is 2-D geometry? Also called plane geometry, it s te geometry tat deals wit two dimensional sapes flat tings tat ave lengt and widt, suc as a piece of paper.
More informationSection 4 SOLUTION: AVL Trees & B-Trees
Section 4 SOLUTION: AVL Trees & B-Trees 1. What 3 properties must an AVL tree have? a. Be a binary tree b. Have Binary Search Tree ordering property (left children < parent, right children > parent) c.
More informationAdvanced Set Representation Methods
Advanced Set Representation Methods AVL trees. 2-3(-4) Trees. Union-Find Set ADT DSA - lecture 4 - T.U.Cluj-Napoca - M. Joldos 1 Advanced Set Representation. AVL Trees Problem with BSTs: worst case operation
More information4.2 Binary Search Trees
Binary trees 4. Binary earc Trees Definition. BT is a binary tree in symmetric order. root a left link a subtree binary tree is eiter: mpty. rigt cild of root Two disjoint binary trees (left and rigt).
More informationCSE 373 Autumn 2010: Midterm #1 (closed book, closed notes, NO calculators allowed)
Name: Email address: CSE 373 Autumn 2010: Midterm #1 (closed book, closed notes, NO calculators allowed) Instructions: Read the directions for each question carefully before answering. We may give partial
More informationRed-Black trees are usually described as obeying the following rules :
Red-Black Trees As we have seen, the ideal Binary Search Tree has height approximately equal to log n, where n is the number of values stored in the tree. Such a BST guarantees that the maximum time for
More informationHW 2 Bench Table. Hash Indexes: Chap. 11. Table Bench is in tablespace setq. Loading table bench. Then a bulk load
Has Indexes: Cap. CS64 Lecture 6 HW Benc Table Table of M rows, Columns of different cardinalities CREATE TABLE BENCH ( KSEQ integer primary key, K5K integer not null, K5K integer not null, KK integer
More informationADVANCED DATA STRUCTURES STUDY NOTES. The left subtree of each node contains values that are smaller than the value in the given node.
UNIT 2 TREE STRUCTURES ADVANCED DATA STRUCTURES STUDY NOTES Binary Search Trees- AVL Trees- Red-Black Trees- B-Trees-Splay Trees. HEAP STRUCTURES: Min/Max heaps- Leftist Heaps- Binomial Heaps- Fibonacci
More informationFault Localization Using Tarantula
Class 20 Fault localization (cont d) Test-data generation Exam review: Nov 3, after class to :30 Responsible for all material up troug Nov 3 (troug test-data generation) Send questions beforeand so all
More informationBRONX COMMUNITY COLLEGE of the City University of New York DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE
BRONX COMMUNITY COLLEGE of the City University of New York DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE CSI Section E01 AVL Trees AVL Property While BST structures have average performance of Θ(log(n))
More informationWhere we are. CSE373: Data Structures & Algorithms Lecture 4: Dictionaries; Binary Search Trees. The Dictionary (a.k.a. Map) ADT
Where we are Studying the absolutely essential DTs of computer science and classic data structures for implementing them SE: Data Structures & lgorithms Lecture : Dictionaries; inary Search Trees Dan rossman
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 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 informationCS Transform-and-Conquer
CS483-11 Transform-and-Conquer Instructor: Fei Li Room 443 ST II Office hours: Tue. & Thur. 1:30pm - 2:30pm or by appointments lifei@cs.gmu.edu with subject: CS483 http://www.cs.gmu.edu/ lifei/teaching/cs483_fall07/
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 informationYou Try: A. Dilate the following figure using a scale factor of 2 with center of dilation at the origin.
1 G.SRT.1-Some Tings To Know Dilations affect te size of te pre-image. Te pre-image will enlarge or reduce by te ratio given by te scale factor. A dilation wit a scale factor of 1> x >1enlarges it. A dilation
More informationCSE 373 APRIL 17 TH TREE BALANCE AND AVL
CSE 373 APRIL 17 TH TREE BALANCE AND AVL ASSORTED MINUTIAE HW3 due Wednesday Double check submissions Use binary search for SADict Midterm text Friday Review in Class on Wednesday Testing Advice Empty
More informationPLK-B SERIES Technical Manual (USA Version) CLICK HERE FOR CONTENTS
PLK-B SERIES Technical Manual (USA Version) CLICK ERE FOR CONTENTS CONTROL BOX PANEL MOST COMMONLY USED FUNCTIONS INITIAL READING OF SYSTEM SOFTWARE/PAGES 1-2 RE-INSTALLATION OF TE SYSTEM SOFTWARE/PAGES
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 informationPriority Queues Heaps Heapsort
Priority Queues Heaps Heapsort After this lesson, you should be able to apply the binary heap insertion and deletion algorithms by hand implement the binary heap insertion and deletion algorithms explain
More information