Positions, Iterators, Tree Structures and Tree Traversals. Readings - Chapter 7.3, 7.4 and 8

Size: px
Start display at page:

Download "Positions, Iterators, Tree Structures and Tree Traversals. Readings - Chapter 7.3, 7.4 and 8"

Transcription

1 Positions, Iterators, Tree Structures an Reaings - Chapter 7.3, 7.4 an 8 1

2 Positional Lists q q q q A position acts as a marker or token within the broaer positional list. A position p is unaffecte by changes elsewhere in a list; the only way in which a position becomes invali is if an explicit comman is issue to elete it. A position instance is a simple object, supporting only the following metho: n P.getElement( ): Return the element store at position p. To provie for a general abstraction of a sequence of elements with the ability to ientify the location of an element, we efine a positional list ADT Goorich, Tamassia, Golwasser Lists an Iterators 2

3 Positional List ADT q Accessor methos: 2014 Goorich, Tamassia, Golwasser Lists an Iterators 3

4 Positional List ADT (2) q Upate methos: 2014 Goorich, Tamassia, Golwasser Lists an Iterators 4

5 Example q A sequence of Positional List operations: 2014 Goorich, Tamassia, Golwasser Lists an Iterators 5

6 Positional List Implementation q The most natural way to implement a positional list is with a oubly-linke list. prev next element noe heaer noes/positions trailer elements 2014 Goorich, Tamassia, Golwasser Lists an Iterators 6

7 Insertion q Insert a new noe, q, between p an its successor. p A B C p A B q C p X q A B X C 2014 Goorich, Tamassia, Golwasser Lists an Iterators 7

8 Deletion q Remove a noe, p, from a oubly-linke list. p A B C D A B C p D A B C 2014 Goorich, Tamassia, Golwasser Lists an Iterators 8

9 Iterators q An iterator is a software esign pattern that abstracts the process of scanning through a sequence of elements, one element at a time Goorich, Tamassia, Golwasser Lists an Iterators 9

10 The Iterable Interface q q q Java efines a parameterize interface, name Iterable, that inclues the following single metho: n iterator( ): Returns an iterator of the elements in the collection. An instance of a typical collection class in Java, such as an ArrayList, is iterable (but not itself an iterator); it prouces an iterator for its collection as the return value of the iterator( ) metho. Each call to iterator( ) returns a new iterator instance, thereby allowing multiple (even simultaneous) traversals of a collection Goorich, Tamassia, Golwasser Lists an Iterators 10

11 The for-each Loop q Java s Iterable class also plays a funamental role in support of the for-each loop syntax: is equivalent to: 2014 Goorich, Tamassia, Golwasser Lists an Iterators 11

12 Trees q Abstract moel of a hierarchical structure q A tree consists of noes with a parent-chil relation google images Tree Structures 12

13 Trees - Examples Computers R Us Sales Manufacturing R&D US International Laptops Desktops Europe Asia Canaa organization structure of a corporation 2014 Goorich, Tamassia, Golwasser Tree Structures 13

14 Trees - Examples (2) /user/rt/courses/ cs016/ cs252/ graes homeworks/ programs/ projects/ graes hw1 hw2 hw3 pr1 pr2 pr3 papers/ emos/ buylow sellhigh market Portion of a file system 2014 Goorich, Tamassia, Golwasser Tree Structures 14

15 Trees - Terminology q q q q q q q q A is the root noe B is parent of E an F A is ancestor of E an F E an F are escenants of A C is the sibling of B E an F are chilren of B E, I, J, K, G, H, an D are leaves A, B, C, an F are internal noes E B F I J K A G C H D Tree Structures 15

16 Trees - Terminology (2) q q q q q q q q A is the root noe B is parent of E an F A is ancestor of E an F E an F are escenants of A C is the sibling of B E an F are chilren of B E, I, J, K, G, H, an D are leaves A, B, C, an F are internal noes E q Subtree: tree consisting of noe an its escenants B F I J K A G C H D Tree Structures 16

17 Trees - Terminology (3) q The epth (level) of E is 2 q The height of the tree is 3 q The egree of noe F is 3 A level 0 B C D level 1 E F G H level 2 I J K level 3 Tree Structures 17

18 Binary Trees q An orere tree is one in which the chilren of each noe are orere B A C q Binary tree: orere tree with all noes having at most 2 chilren D H E I F G n left chil an right chil Tree Structures 18

19 Binary Trees q Recursive efinition of binary tree A n either a leaf or B C n an internal noe (the root) an one/two binary trees (left subtree an/or right subtree) D H E I F G Tree Structures 19

20 Example of Binary Trees - Arithmetic Expression Tree q Binary tree associate with an arithmetic expression n n internal noes: operators external noes: operans / ((((3 + 1) *3) / (9-5)+2))-((3*(7-4)) +6)) Tree Structures 20

21 Example of Binary Trees - Decision Tree q q Binary tree associate with a ecision process n n internal noes: questions with yes/no answer external noes: ecisions Example: ining ecision Yes Inian Foo No Sinhi Sweets North Inian Chinese Yes No Yes No Kartick Yo! China Dominos Tree Structures 21

22 Proper, Full, Complete Binary Trees q Proper/Full - Every noe has either zero or two chilren q Complete - every level except possibly the last is completely fille an all leaf noes are as left as possible. Tree Structures 22

23 Binary tree from a complete binary tree q A binary tree can be obtaine from appropriate complete binary tree by pruning. Tree Structures 23

24 Properties of a Binary Tree q Notations n n - number of noes n n E - number of leaves (external noes) n n I - number of internal noes n h - height of the tree q h+1 n 2 h+1-1 q 1 n E 2 h q h n I 2 h -1 q log(n+1) -1 h n-1 Tree Structures 24

25 Properties of Binary Trees (2) q n E n I + 1 q proof by inuction on n I n Tree with 1 noe has a leaf but no internal noe n Assume n E n I + 1 for tree with k-1 internal noes n A tree with k internal noes has k 1 internal noes in the left subtree an k-k 1-1 internal noes in the right subtree n By inuction n E (k 1 +1) + (k-k 1-1+1) = k+1 Tree Structures 25

26 Complete Binary Tree q level i has 2 i noes q In a tree of height h n leaves are at level h n n E = 2 h n n I = h-1 =2 h -1 n n I = n E - 1 n n = 2 h+1-1 q In a tree of n noes n n E is (n+1)/2 n h = log 2 (n E ) Tree Structures 26

27 Tree ADT q q q We use positions to abstract noes Generic methos: n n n n integer size() boolean isempty() Iterator iterator() Iterable positions() Accessor methos: n n n n position root() position parent(p) Iterable chilren(p) Integer numchilren(p) q Query methos: n boolean isinternal(p) n boolean isexternal(p) n boolean isroot(p) q Aitional upate methos may be efine by ata structures implementing the Tree ADT 2014 Goorich, Tamassia, Golwasser Tree Structures 27

28 Linke Structure for Binary Trees Noe Structure parent left element right Tree Structures 28

29 Linke Structure for Binary Trees Noe Structure parent B left element A B right D A D C E C E Coe Fragments 8.8, 8.9, 8.10, 8.11 Tree Structures 29

30 Linke Structure for General Trees Noe Structure parent element chilren Tree Structures 30

31 Linke Structure for General Trees Noe Structure parent element B chilren B A D F A D F C E C E Tree Structures 31

32 Computing Depth q p be a position within the tree T q calculate epth(p) public int epth(position<e> p) throws IllegalArgumentException {! } if (isroot(p))! return 0;! else! return 1 + epth(parent(p));! Tree Structures 32

33 Computing Height private int heightba() { // works, but quaratic worst-case time! }! Analysis: int h = 0;! for (Position<E> p : positions())! if (isexternal(p))// only consier leaf positions! h = Math.max(h, epth(p));! return h;! O(n + Σ pεl ( p +1)) is O(n 2 )! Tree Structures 33

34 ! Computing Height public int height(position<e> p) throws IllegalArgumentException {! }! int h = 0; for (Position<E> c : chilren(p))! h = Math.max(h, 1 + height(c));! return h;! Analysis! O(Σ p (c p +1))is O(n) // base case if p is external! Tree Structures 34

35 q Systematic way of visiting all noes in a tree in a specifie orer n preorer - processes each noe before processing its chilren n postorer - processes each noe after processing its chilren 35

36 Preorer Traversal Paper Title Abstract References

37 Preorer Traversal - Algorithm q Algorithm preorer(p) n perform the visit action for position p n for each chil c in chilren(p) o w preorer(c) q Example: n reaing a ocument from beginning to en 37

38 Postorer Traversal /user/rt/courses/ cs016/ cs252/ graes homeworks/ programs/ projects/ graes hw1 hw2 hw3 pr1 pr2 pr3 papers/ emos/ buylow sellhigh market 38

39 Postorer Traversal - Algorithm q Algorithm postorer(p) n for each chil c in chilren(p) o w postorer(c) n perform the visit action for position p q Example n u - isk usage comman in Unix 39

40 Traversals of Binary Trees q preorer(v) n visit(v) n preorer(v.leftchil()) n preorer(v.rightchil()) q postorer(v) n postorer(v.leftchil()) n postorer(v.rightchil()) n visit(v) 40

41 More Example of Traversals q Visit - printing the ata in the noe A q Preorer traversal n a b e h i c f g B C q Postorer traversal D E F G n h i e b f g c a H I 41

42 Application of Postorer Traversal q Evaluating Arithmetic Expressions /

43 Application of Postorer Traversal q Evaluating Arithmetic Expressions /

44 Application of Postorer Traversal q Evaluating Arithmetic Expressions /

45 Application of Postorer Traversal q Evaluating Arithmetic Expressions /

46 Application of Postorer Traversal q Evaluating Arithmetic Expressions /

47 Application of Postorer Traversal q Evaluating Arithmetic Expressions 2 /

48 Application of Postorer Traversal q Evaluating Arithmetic Expressions 2 /

49 Application of Postorer Traversal q Evaluating Arithmetic Expressions 2 /

50 Application of Postorer Traversal q Evaluating Arithmetic Expressions 2 /

51 Application of Postorer Traversal q Evaluating Arithmetic Expressions /

52 Inorer traversals q Visit the noe between the visit to the left an right subtree q Algorithm inorer(p) n If p has a left chil lc then w inorer(lc) n perform visit action for position p n If p has a right chil rc then w inorer(rc) 52

53 Example - Inorer Traversal q Inorer n b h e i a f c g A B C D E F G H I 53

54 Euler Tour Traversal q q q Generic traversal of a binary tree Inclues as special cases the preorer, postorer an inorer traversals Walk aroun the tree an visit each noe three times: n n n on the left (preorer) from below (inorer) on the right (postorer) + 2 L B R Goorich, Tamassia, Golwasser 54

55 Builing Tree from Preorer Traversal q Given the preorer traversal, can we uniquely etermine the binary tree? Preorer a b e h i c f g 55

56 Builing Tree from Postorer Traversal q Given the postorer traversal, can we uniquely etermine the binary tree? Postorer h i e b f g c a 56

57 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer a b e h i c f g Inorer b h e i a f c g 57

58 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer a b e h i c f g Inorer b h e i a f c g A 58

59 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer a b e h i c f g Inorer b h e i a f c g A 59

60 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer a b e h i c f g c f g Inorer b h e i a f c g f c g A 60

61 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer a b e h i c f g c f g Inorer b h e i a f c g f c g A 61

62 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer a b e h i c f g c f g Inorer b h e i a f c g f c g A C 62

63 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer a b e h i c f g c f g Inorer b h e i a f c g f c g A C 63

64 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer a b e h i c f g c f g Inorer b h e i a f c g f c g A C F G 64

65 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g C F G 65

66 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g C F G 66

67 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C F G 67

68 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C F G 68

69 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C e h i h e i F G 69

70 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C e h i h e i F G 70

71 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C e h i h e i E F G 71

72 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C e h i h e i E F G 72

73 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C e h i h e i E F G H I 73

74 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C e h i h e i E F G H I 74

75 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C e h i h e i E F G H I 75

76 Builing Tree from Pre- an In- Orer Traversals q Given the preorer an inorer traversals of a binary tree we can uniquely etermine the tree Preorer Inorer A a b e h i c f g b h e i a f c g b e h i c f g b h e i f c g B C e h i h e i D E F G H I 76

77 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer h i e b f g c a Inorer b h e i a f c g 77

78 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer h i e b f g c a Inorer b h e i a f c g A 78

79 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer h i e b f g c a Inorer b h e i a f c g A 79

80 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer h i e b f g c a f g c Inorer b h e i a f c g f c g A 80

81 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer Inorer A h i e b f g c a b h e i a f c g f g c f c g C 81

82 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer Inorer A h i e b f g c a b h e i a f c g f g c f c g C 82

83 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer Inorer A h i e b f g c a b h e i a f c g f g c f c g C F G 83

84 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer Inorer A h i e b f g c a b h e i a f c g h i e b f g c b h e i f c g C F G 84

85 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer Inorer A h i e b f g c a b h e i a f c g h i e b f g c b h e i f c g B C F G 85

86 Builing Tree from Post- an In- Orer Traversals q Given the postorer an inorer traversals of a binary tree we can uniquely etermine the tree q The last noe visite in the postorer traversal is the root of the binary tree Postorer h i e b f g c a f g c Inorer b h e i a f c g f c g A h i e b b h e i B C q an so on.. F G 86

87 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a 87

88 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A 88

89 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A 89

90 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g c f g Postorer h i e b f g c a f g c A C 90

91 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g c f g Postorer h i e b f g c a f g c A C F G 91

92 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A c f g f g c b e h i h i e b C F G 92

93 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A c f g f g c b e h i h i e b C F G 93

94 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A c f g f g c b e h i h i e b B C F G 94

95 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A c f g f g c b e h i h i e b B C F G 95

96 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A c f g f g c b e h i h i e b B C F G 96

97 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A c f g f g c b e h i e h i h i e b h i e B C D E F G 97

98 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A c f g f g c b e h i e h i h i e b h i e B C D E F G 98

99 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e h i c f g Postorer h i e b f g c a A c f g f g c b e h i e h i h i e b h i e B C D E F G H I 99

100 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e i c Postorer i e b c a 100

101 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e i c Postorer i e b c a A B C E E I I I I 101

102 Builing Tree from Pre- an Post- Orer Traversals q Given the pre an postorer traversal of a binary tree, can we uniquely reconstruct the tree? Preorer a b e i c Postorer i e b c a A Only if the internal noes in a binary tree have exactly two chilren E B E C I I I I 102

103 Breath First Traversal q Visit all positions at epth, before visiting the positions at epth X X X O X O X X O X O X O X O X O O X O X O X X O X O

104 Let T be a binary tree with n noes an let D be the sum of the epths of all the external noes of T. Show that if T has the minimum number of external noes possible, then D is O(n) an if T has the maximum number of external noes possible, then D is O(nlogn) Problems 104

105 Let T be an orere tree with n >1. Is it possible that the preorer traversal of T visits the noes in the same orer as the postorer traversal of T? If so given an example, otherwise explain why. Is it possible that the preorer traversal of T visits the noes in the reverse orer of postorer traversal? Problems 105

106 Give the pseuocoe for a nonrecursive metho for performing an inorer traversal of a binary tree in linear time. Problems 106

107 Let T be a tree with n positions. Define the lowest common ancestor(lca) between two positions p an q as the lowest point in T that has both p an q as escenants. Given two positions p an q, escribe an efficient algorithm for fining the LCA of p an q. What is the running time of your algorithm? Problems 107

Trees. 9/21/2007 8:11 AM Trees 1

Trees. 9/21/2007 8:11 AM Trees 1 Trees 9/21/2007 8:11 AM Trees 1 Outline and Reading Tree ADT ( 6.1) Preorder and postorder traversals ( 6.2.3) BinaryTree ADT ( 6.3.1) Inorder traversal ( 6.3.4) Euler Tour traversal ( 6.3.4) Template

More information

Trees 3/19/14. Mammal. Dog Pig Cat

Trees 3/19/14. Mammal. Dog Pig Cat Presentation for use with the textbook ata Structures and lgorithms in Java, 6 th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 014 Trees Mammal og Pig at Trees 1 What is a Tree

More information

Trees. Make Money Fast! Bank Robbery. Stock Fraud. Ponzi Scheme Goodrich, Tamassia. Trees 1

Trees. Make Money Fast! Bank Robbery. Stock Fraud. Ponzi Scheme Goodrich, Tamassia. Trees 1 Trees Make Money Fast! Stock Fraud Ponzi Scheme Bank Robbery Trees 1 What is a Tree In computer science, a tree is an abstract model of a hierarchical structure A tree consists of nodes with a parent-child

More information

Trees and Binary Trees

Trees and Binary Trees Trees and Binary Trees Become Rich Force Others to be Poor Rob Banks Stock Fraud The class notes are a compilation and edition from many sources. The instructor does not claim intellectual property or

More information

Data Structures and Algorithms. Trees

Data Structures and Algorithms. Trees Data Structures and Algorithms Trees Tree Example Make Money Fast! Stock Fraud Ponzi Scheme Bank Robbery 2 What is a Tree In computer science, a tree is an abstract model of a hierarchical structure A

More information

Trees. Make Money Fast! Bank Robbery. Ponzi Scheme. Stock Fraud Goodrich, Tamassia, Goldwasser Trees

Trees. Make Money Fast! Bank Robbery. Ponzi Scheme. Stock Fraud Goodrich, Tamassia, Goldwasser Trees Part 4: Trees Trees Make Money Fast! Stock Fraud Ponzi Scheme Bank Robbery 2013 Goodrich, Tamassia, Goldwasser Trees 2 Example: Family Tree 2013 Goodrich, Tamassia, Goldwasser Trees 3 Example: Unix File

More information

Unit 1 (9Hrs) Trees. Mahesh Sanghavi & Deepali Pawar Department of Computer Engineering, SNJB s KBJ College of Engineering, Chandwad, India

Unit 1 (9Hrs) Trees. Mahesh Sanghavi & Deepali Pawar Department of Computer Engineering, SNJB s KBJ College of Engineering, Chandwad, India Unit 1 (9Hrs) Trees Mahesh Sanghavi & Deepali Pawar Department of Computer Engineering, SNJB s KBJ College of Engineering, Chandwad, India The class notes are a compilation and edition from many sources.

More information

Trees. Make Money Fast! Bank Robbery. Stock Fraud. Ponzi Scheme. Trees Goodrich, Tamassia

Trees. Make Money Fast! Bank Robbery. Stock Fraud. Ponzi Scheme. Trees Goodrich, Tamassia Trees Make Money Fast! Stock Fraud Ponzi Scheme Bank Robbery Trees 1 What is a Tree In computer science, a tree is an abstract model of a hierarchical structure A tree consists of nodes with a parent-child

More information

Data Structures. Trees, Binary trees & Binary Search Trees

Data Structures. Trees, Binary trees & Binary Search Trees Data Structures Trees, Binary trees & Binary Search Trees Tree In computer science, a tree is an abstract model of a hierarchical structure A tree consists of nodes with a parentchild relation Applications:

More information

Lists ADT and Iterators

Lists ADT and Iterators 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, 2014 Lists ADT and Iterators 2014 Goodrich, Tamassia,

More information

Elementary Data Structures. Stacks, Queues, & Lists Amortized analysis Trees

Elementary Data Structures. Stacks, Queues, & Lists Amortized analysis Trees Elementary Data Structures Stacks, Queues, & Lists Amortized analysis Trees The Stack ADT ( 2.1.1) The Stack ADT stores arbitrary objects Insertions and deletions follow the last-in first-out scheme Think

More information

Trees. Make Money Fast! Bank Robbery. Ponzi Scheme. Stock Fraud. 02/06/2006 Trees 1

Trees. Make Money Fast! Bank Robbery. Ponzi Scheme. Stock Fraud. 02/06/2006 Trees 1 Trees Make Money Fast! Stock Fraud Ponzi Scheme Bank Robbery 02/06/2006 Trees 1 Outline and Reading Tree ADT ( 7.1.2) Preorder and postorder traversals ( 7.2.2-3) BinaryTree ADT ( 7.3.1) Inorder traversal

More information

Stock Fraud. Nancy Amato. Parasol Lab, Dept. CSE, Texas A&M University

Stock Fraud. Nancy Amato. Parasol Lab, Dept. CSE, Texas A&M University Make Money Fast! Stock Fraud Ponzi Scheme Bank Robbery Chapter 7: Nancy Amato Parasol Lab, Dept. CSE, Texas A&M University Acknowledgement: These slides are adapted from slides provided with Data Structures

More information

Outline. Definitions Traversing trees Binary trees

Outline. Definitions Traversing trees Binary trees Trees Chapter 8 Outline Definitions Traversing trees Binary trees Outline Definitions Traversing trees Binary trees Graph a b Node ~ city or computer Edge ~ road or data cable c Undirected or Directed

More information

Tree. A path is a connected sequence of edges. A tree topology is acyclic there is no loop.

Tree. A path is a connected sequence of edges. A tree topology is acyclic there is no loop. Tree A tree consists of a set of nodes and a set of edges connecting pairs of nodes. A tree has the property that there is exactly one path (no more, no less) between any pair of nodes. A path is a connected

More information

Trees. Data structures and Algorithms. Make Money Fast! Bank Robbery. Stock Fraud. Ponzi Scheme

Trees. Data structures and Algorithms. Make Money Fast! Bank Robbery. Stock Fraud. Ponzi Scheme Make Money Fast! Trees Stock Fraud Ponzi Scheme Bank Robbery Data structures and Algorithms Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++ Goodrich,

More information

Trees. Make Money Fast! Bank Robbery. Ponzi Scheme. Stock Fraud. 1/18/2005 4:17 AM Trees 1

Trees. Make Money Fast! Bank Robbery. Ponzi Scheme. Stock Fraud. 1/18/2005 4:17 AM Trees 1 Trees Make Money Fast! Stock Fraud Ponzi Scheme Bank Robbery 1/18/2005 4:17 AM Trees 1 Outline and Reading Tree ADT ( 2.3.1) Preorder and postorder traversals ( 2.3.2) BinaryTree ADT ( 2.3.3) Inorder traversal

More information

OUTLINE. General Trees (Ch. 7.1) Binary Trees (Ch. 7.3) Tree Traversals (Ch. 7.2)

OUTLINE. General Trees (Ch. 7.1) Binary Trees (Ch. 7.3) Tree Traversals (Ch. 7.2) CH 7 : TREE 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 M. AMATO 1 OUTLINE

More information

The java.util.list ADT

The java.util.list ADT 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, 2014 Lists and Iterators 2014 Goodrich, Tamassia,

More information

Trees. Trees. CSE 2011 Winter 2007

Trees. Trees. CSE 2011 Winter 2007 Trees CSE 2011 Winter 2007 2/5/2007 10:00 PM 1 Trees Linear access time of linked lists is prohibitive Does there exist any simple data structure for which the running time of most operations (search,

More information

The tree data structure. Trees COL 106. Amit Kumar Shweta Agrawal. Acknowledgement :Many slides are courtesy Douglas Harder, UWaterloo

The tree data structure. Trees COL 106. Amit Kumar Shweta Agrawal. Acknowledgement :Many slides are courtesy Douglas Harder, UWaterloo The tree data structure 1 Trees COL 106 Amit Kumar Shweta Agrawal Acknowledgement :Many slides are courtesy Douglas Harder, UWaterloo 1 Trees The tree data structure 3 A rooted tree data structure stores

More information

Trees. Make Money Fast! Stock Fraud. Bank Robbery. Ponzi Scheme. Trees Goodrich, Tamassia

Trees. Make Money Fast! Stock Fraud. Bank Robbery. Ponzi Scheme. Trees Goodrich, Tamassia Trees Make Money Fast! Stock Fraud Ponzi Scheme Bank Robbery Trees 1 What is a Tree In computer science, a tree is an abstract model of a hierarchical structure A tree consists of nodes with a parent-child

More information

Principles of B-trees

Principles of B-trees CSE465, Fall 2009 February 25 1 Principles of B-trees Noes an binary search Anoe u has size size(u), keys k 1,..., k size(u) 1 chilren c 1,...,c size(u). Binary search property: for i = 1,..., size(u)

More information

CSED233: Data Structures (2017F) Lecture7: Lists and Iterators

CSED233: Data Structures (2017F) Lecture7: Lists and Iterators (2017F) Lecture7: Lists and Iterators Daijin Kim CSE, POSTECH dkim@postech.ac.kr The java.util.list ADT The java.util.list interface includes the following methods: 2 Example A sequence of List operations:

More information

CS S-06 Binary Search Trees 1

CS S-06 Binary Search Trees 1 CS245-2008S-06 inary Search Trees 1 06-0: Ordered List T Operations: Insert an element in the list Check if an element is in the list Remove an element from the list Print out the contents of the list,

More information

CH7. LIST AND ITERATOR ADTS

CH7. LIST AND ITERATOR ADTS CH7. LIST AND ITERATOR ADTS ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER (WILEY 2016) LIST ADT EXAMPLE A

More information

DATA STRUCTURES USING C

DATA STRUCTURES USING C DATA STRUCTURES USING C The British Constitution Crown Church of England Cabinet House of Commons House of Lords Supreme Court Ministers County Metropolitan Council police Rural District County Borough

More information

What is a Tree. Trees. Tree ADT ( 6.1.2) Tree Terminology. subtree. In computer science, a tree is an abstract model

What is a Tree. Trees. Tree ADT ( 6.1.2) Tree Terminology. subtree. In computer science, a tree is an abstract model What is a Tree Trees Stock raud Make Money ast! Ponzi Scheme ank Robbery In computer science, a tree is an abstract model omputers R Us of a hierarchical structure tree consists of with a parent-child

More information

Data Structures Lecture 6

Data Structures Lecture 6 Fall 2017 Fang Yu Software Security Lab. Dept. Management Information Systems, National Chengchi University Data Structures Lecture 6 Announcement Project Proposal due on Nov. 9 Remember to bring a hardcopy

More information

Arrays. Array Definition

Arrays. Array Definition 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, 2014 Arrays Arrays 1 Array Definition An array

More information

CS350 - Exam 4 (100 Points)

CS350 - Exam 4 (100 Points) Fall 0 Name CS0 - Exam (00 Points).(0 points) Re-Black Trees For the Re-Black tree below, inicate where insert() woul initially occur before rebalancing/recoloring. Sketch the tree at ALL intermeiate steps

More information

Acknowledgement. Flow Graph Theory. Depth First Search. Speeding up DFA 8/16/2016

Acknowledgement. Flow Graph Theory. Depth First Search. Speeding up DFA 8/16/2016 8/6/06 Program Analysis https://www.cse.iitb.ac.in/~karkare/cs68/ Flow Graph Theory Acknowlegement Slies base on the material at http://infolab.stanfor.eu/~ullman/ragon/ w06/w06.html Amey Karkare Dept

More information

Todays Lecture. Assignment 2 deadline: You have 5 Calendar days to complete.

Todays Lecture. Assignment 2 deadline: You have 5 Calendar days to complete. Trees! Todays Lecture Assignment 2 deadline: 11 pm Monday 2/17 President s day. You have 5 Calendar days to complete. Trees What are trees in computer science? Data Structures for Trees Algorithms useful

More information

Trees. CSE 373 Data Structures

Trees. CSE 373 Data Structures Trees CSE 373 Data Structures Readings Reading Chapter 7 Trees 2 Why Do We Need Trees? Lists, Stacks, and Queues are linear relationships Information often contains hierarchical relationships File directories

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 11: Binary Search Trees MOUNA KACEM mouna@cs.wisc.edu Fall 2018 General Overview of Data Structures 2 Introduction to trees 3 Tree: Important non-linear data structure

More information

PART 2. Organization Of An Operating System

PART 2. Organization Of An Operating System PART 2 Organization Of An Operating System CS 503 - PART 2 1 2010 Services An OS Supplies Support for concurrent execution Facilities for process synchronization Inter-process communication mechanisms

More information

In a postorder traversal, a node is visited after its descendants Application: compute space used by files in a directory and its subdirectories 9 1

In a postorder traversal, a node is visited after its descendants Application: compute space used by files in a directory and its subdirectories 9 1 What is a Tree Trees Stock Fraud Make Money Fast! Winning Lotto / Bank Robbery In computer science, a tree is an abstract model of a hierarchical structure A tree consists of nodes ith a parent-child relation

More information

TREES. Trees - Introduction

TREES. Trees - Introduction TREES Chapter 6 Trees - Introduction All previous data organizations we've studied are linear each element can have only one predecessor and successor Accessing all elements in a linear sequence is O(n)

More information

(2,4) Trees Goodrich, Tamassia (2,4) Trees 1

(2,4) Trees Goodrich, Tamassia (2,4) Trees 1 (2,4) Trees 9 2 5 7 10 14 2004 Goodrich, Tamassia (2,4) Trees 1 Multi-Way Search Tree A multi-way search tree is an ordered tree such that Each internal node has at least two children and stores d -1 key-element

More information

CSE 230 Intermediate Programming in C and C++ Binary Tree

CSE 230 Intermediate Programming in C and C++ Binary Tree CSE 230 Intermediate Programming in C and C++ Binary Tree Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu Introduction to Tree Tree is a non-linear data structure

More information

ITEC2620 Introduction to Data Structures

ITEC2620 Introduction to Data Structures T2620 ntroduction to ata Structures Lecture 4a inary Trees Review of Linked Lists Linked-Lists dynamic length arbitrary memory locations access by following links an only traverse link in forward direction

More information

Chapter 11.!!!!Trees! 2011 Pearson Addison-Wesley. All rights reserved 11 A-1

Chapter 11.!!!!Trees! 2011 Pearson Addison-Wesley. All rights reserved 11 A-1 Chapter 11!!!!Trees! 2011 Pearson Addison-Wesley. All rights reserved 11 A-1 2015-12-01 09:30:53 1/54 Chapter-11.pdf (#13) Terminology Definition of a general tree! A general tree T is a set of one or

More information

Chapter 11.!!!!Trees! 2011 Pearson Addison-Wesley. All rights reserved 11 A-1

Chapter 11.!!!!Trees! 2011 Pearson Addison-Wesley. All rights reserved 11 A-1 Chapter 11!!!!Trees! 2011 Pearson Addison-Wesley. All rights reserved 11 A-1 2015-03-25 21:47:41 1/53 Chapter-11.pdf (#4) Terminology Definition of a general tree! A general tree T is a set of one or more

More information

Describe how to implement deque ADT using two stacks as the only instance variables. What are the running times of the methods

Describe how to implement deque ADT using two stacks as the only instance variables. What are the running times of the methods Describe how to implement deque ADT using two stacks as the only instance variables. What are the running times of the methods 1 2 Given : Stack A, Stack B 3 // based on requirement b will be reverse of

More information

Binary trees. Binary trees. Binary trees

Binary trees. Binary trees. Binary trees Binary trees March 23, 2018 1 Binary trees A binary tree is a tree in which each internal node has at most two children. In a proper binary tree, each internal node has exactly two children. Children are

More information

Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures.

Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures. Trees Q: Why study trees? : Many advance DTs are implemented using tree-based data structures. Recursive Definition of (Rooted) Tree: Let T be a set with n 0 elements. (i) If n = 0, T is an empty tree,

More information

References and Homework ABSTRACT DATA TYPES; LISTS & TREES. Abstract Data Type (ADT) 9/24/14. ADT example: Set (bunch of different values)

References and Homework ABSTRACT DATA TYPES; LISTS & TREES. Abstract Data Type (ADT) 9/24/14. ADT example: Set (bunch of different values) 9// References and Homework Text: Chapters, and ABSTRACT DATA TYPES; LISTS & TREES Homework: Learn these List methods, from http://docs.oracle.com/javase/7/docs/api/java/util/list.html add, addall, contains,

More information

A Hierarchical Structure. Lecture11: Tree I. Tree Data Structures. Unix/Linux file systems. Bohyung Han CSE, POSTECH

A Hierarchical Structure. Lecture11: Tree I. Tree Data Structures. Unix/Linux file systems. Bohyung Han CSE, POSTECH Unix/Linux file systems Hierarchical Structure (2015F) Lecture11: Tree I ohyung Han S, POSTH bhhan@postech.ac.kr 2 Tree ata Structures n abstract model of a hierarchical structure 2 dimensional structure

More information

COSC 2011 Section N. Trees: Terminology and Basic Properties

COSC 2011 Section N. Trees: Terminology and Basic Properties COSC 2011 Tuesday, March 27 2001 Overview Trees and Binary Trees Quick review of definitions and examples Tree Algorithms Depth, Height Tree and Binary Tree Traversals Preorder, postorder, inorder Binary

More information

Trees. Dr. Ronaldo Menezes Hugo Serrano Ronaldo Menezes, Florida Tech

Trees. Dr. Ronaldo Menezes Hugo Serrano Ronaldo Menezes, Florida Tech Trees Dr. Ronaldo Menezes Hugo Serrano (hbarbosafilh2011@my.fit.edu) Introduction to Trees Trees are very common in computer science They come in different variations They are used as data representation

More information

1. What is a Map (or Function)? Maps. CITS2200 Data Structures and Algorithms. Some definitions... Topic 16

1. What is a Map (or Function)? Maps. CITS2200 Data Structures and Algorithms. Some definitions... Topic 16 1. What is a Map (or Function)? CITS2200 Data Structures an Algorithms Topic 16 Maps Definitions what is a map (or function)? Specification List-base representation (singly linke) Sorte block representation

More information

Uses for Trees About Trees Binary Trees. Trees. Seth Long. January 31, 2010

Uses for Trees About Trees Binary Trees. Trees. Seth Long. January 31, 2010 Uses for About Binary January 31, 2010 Uses for About Binary Uses for Uses for About Basic Idea Implementing Binary Example: Expression Binary Search Uses for Uses for About Binary Uses for Storage Binary

More information

Topic 14. The BinaryTree ADT

Topic 14. The BinaryTree ADT Topic 14 The BinaryTree ADT Objectives Define trees as data structures Define the terms associated with trees Discuss tree traversal algorithms Discuss a binary tree implementation Examine a binary tree

More information

7.1 Introduction. A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w

7.1 Introduction. A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w Chapter 7 Trees 7.1 Introduction A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w Tree Terminology Parent Ancestor Child Descendant Siblings

More information

Binary Trees Ernesto

Binary Trees Ernesto General Trees: Terminology (1) inary Trees Ernesto David hris Elsa nna EES2030: dvanced Object Oriented Programming Fall 2017 HEN-WEI WNG Shirley Vanessa Peter root of tree : top element of the tree e.g.,

More information

tree nonlinear Examples

tree nonlinear Examples The Tree ADT Objectives Define trees as data structures Define the terms associated with trees Discuss tree traversal algorithms Discuss a binary tree implementation Examine a binary tree example 10-2

More information

A Hierarchical Structure. Lecture11: Trees I. Tree Data Structures. Unix/Linux file systems. Bohyung Han CSE, POSTECH

A Hierarchical Structure. Lecture11: Trees I. Tree Data Structures. Unix/Linux file systems. Bohyung Han CSE, POSTECH Unix/Linux file systems Hierarchical Structure (2013F) Lecture11: Trees I ohyung Han S, POSTH bhhan@postech.ac.kr 2 Tree ata Structures n abstract model of a hierarchical structure 2 dimensional structure

More information

Section 5.5. Left subtree The left subtree of a vertex V on a binary tree is the graph formed by the left child L of V, the descendents

Section 5.5. Left subtree The left subtree of a vertex V on a binary tree is the graph formed by the left child L of V, the descendents Section 5.5 Binary Tree A binary tree is a rooted tree in which each vertex has at most two children and each child is designated as being a left child or a right child. Thus, in a binary tree, each vertex

More information

Lecture 32. No computer use today. Reminders: Homework 11 is due today. Project 6 is due next Friday. Questions?

Lecture 32. No computer use today. Reminders: Homework 11 is due today. Project 6 is due next Friday. Questions? Lecture 32 No computer use today. Reminders: Homework 11 is due today. Project 6 is due next Friday. Questions? Friday, April 1 CS 215 Fundamentals of Programming II - Lecture 32 1 Outline Introduction

More information

Uninformed search methods

Uninformed search methods CS 1571 Introuction to AI Lecture 4 Uninforme search methos Milos Hauskrecht milos@cs.pitt.eu 539 Sennott Square Announcements Homework assignment 1 is out Due on Thursay, September 11, 014 before the

More information

TREES Lecture 10 CS2110 Spring2014

TREES Lecture 10 CS2110 Spring2014 TREES Lecture 10 CS2110 Spring2014 Readings and Homework 2 Textbook, Chapter 23, 24 Homework: A thought problem (draw pictures!) Suppose you use trees to represent student schedules. For each student there

More information

Additional Divide and Conquer Algorithms. Skipping from chapter 4: Quicksort Binary Search Binary Tree Traversal Matrix Multiplication

Additional Divide and Conquer Algorithms. Skipping from chapter 4: Quicksort Binary Search Binary Tree Traversal Matrix Multiplication Aitional Divie an Conquer Algorithms Skipping from chapter 4: Quicksort Binary Search Binary Tree Traversal Matrix Multiplication Divie an Conquer Closest Pair Let s revisit the closest pair problem. Last

More information

INF2220: algorithms and data structures Series 1

INF2220: algorithms and data structures Series 1 Universitetet i Oslo Institutt for Informatikk A. Maus, R.K. Runde, I. Yu INF2220: algorithms and data structures Series 1 Topic Trees & estimation of running time (Exercises with hints for solution) Issued:

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Binary search tree (part I) Version of March 24, 2013 Abstract These lecture notes are meant

More information

Terminology. The ADT Binary Tree. The ADT Binary Search Tree

Terminology. The ADT Binary Tree. The ADT Binary Search Tree Terminology The ADT Binary Tree The ADT Binary Search Tree 1 Terminology 3 A general tree A general tree T is a set of one or more nodes such that T is partitioned into disjoint subsets: o A single node

More information

Binary Trees

Binary Trees Binary Trees 4-7-2005 Opening Discussion What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment? What is a Tree? You are all familiar with what

More information

CS 171: Introduction to Computer Science II. Binary Search Trees

CS 171: Introduction to Computer Science II. Binary Search Trees CS 171: Introduction to Computer Science II Binary Search Trees Binary Search Trees Symbol table applications BST definitions and terminologies Search and insert Traversal Ordered operations Delete Symbol

More information

(2,4) Trees. 2/22/2006 (2,4) Trees 1

(2,4) Trees. 2/22/2006 (2,4) Trees 1 (2,4) Trees 9 2 5 7 10 14 2/22/2006 (2,4) Trees 1 Outline and Reading Multi-way search tree ( 10.4.1) Definition Search (2,4) tree ( 10.4.2) Definition Search Insertion Deletion Comparison of dictionary

More information

Trees. (Trees) Data Structures and Programming Spring / 28

Trees. (Trees) Data Structures and Programming Spring / 28 Trees (Trees) Data Structures and Programming Spring 2018 1 / 28 Trees A tree is a collection of nodes, which can be empty (recursive definition) If not empty, a tree consists of a distinguished node r

More information

Data and File Structures Laboratory

Data and File Structures Laboratory Binary Trees Assistant Professor Machine Intelligence Unit Indian Statistical Institute, Kolkata September, 2018 1 Basics 2 Implementation 3 Traversal Basics of a tree A tree is recursively defined as

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Binary search tree (part I) Version of March 24, 2013 Abstract These lecture notes are meant

More information

CS302 - Data Structures using C++

CS302 - Data Structures using C++ CS302 - Data Structures using C++ Topic: Trees Kostas Alexis Trees List, stacks, and queues are linear in their organization of data. Items are one after another In this section, we organize data in a

More information

Ch02 Data Structures

Ch02 Data Structures Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Ch02 Data Structures xkcd Seven http://xkcd.com/1417/ Used with permission under

More information

Binary Trees, Binary Search Trees

Binary Trees, Binary Search Trees Binary Trees, Binary Search Trees Trees Linear access time of linked lists is prohibitive Does there exist any simple data structure for which the running time of most operations (search, insert, delete)

More information

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees Chapter 11 Copyright McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education. Chapter Summary Introduction to Trees Applications

More information

interface Position<E> { E getelement() throws IllegalStateExcept..; }

interface Position<E> { E getelement() throws IllegalStateExcept..; } 1 interface Position { E getelement() throws IllegalStateExcept..; } position node e Tree ADT: Interface 2 Elements of Tree ADT stores elements at Positions which, in fact, Tree ADT are abstractions

More information

Ch02 Data Structures

Ch02 Data Structures Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Ch02 Data Structures xkcd Seven http://xkcd.com/1417/ Used with permission under

More information

CS 231 Data Structures and Algorithms Fall Recursion and Binary Trees Lecture 21 October 24, Prof. Zadia Codabux

CS 231 Data Structures and Algorithms Fall Recursion and Binary Trees Lecture 21 October 24, Prof. Zadia Codabux CS 231 Data Structures and Algorithms Fall 2018 Recursion and Binary Trees Lecture 21 October 24, 2018 Prof. Zadia Codabux 1 Agenda ArrayQueue.java Recursion Binary Tree Terminologies Traversal 2 Administrative

More information

Compiler Optimisation

Compiler Optimisation Compiler Optimisation Michael O Boyle mob@inf.e.ac.uk Room 1.06 January, 2014 1 Two recommene books for the course Recommene texts Engineering a Compiler Engineering a Compiler by K. D. Cooper an L. Torczon.

More information

Trees 11/15/16. Chapter 11. Terminology. Terminology. Terminology. Terminology. Terminology

Trees 11/15/16. Chapter 11. Terminology. Terminology. Terminology. Terminology. Terminology Chapter 11 Trees Definition of a general tree A general tree T is a set of one or more nodes such that T is partitioned into disjoint subsets: A single node r, the root Sets that are general trees, called

More information

DataStruct 7. Trees. Michael T. Goodrich, et. al, Data Structures and Algorithms in C++, 2 nd Ed., John Wiley & Sons, Inc., 2011.

DataStruct 7. Trees. Michael T. Goodrich, et. al, Data Structures and Algorithms in C++, 2 nd Ed., John Wiley & Sons, Inc., 2011. 2013-2 DataStruct 7. Trees Michael T. Goodrich, et. al, Data Structures and Algorithms in C++, 2 nd Ed., John Wiley & Sons, Inc., 2011. November 6, 2013 Advanced Networking Technology Lab. (YU-ANTL) Dept.

More information

Objectives. In this session, you will learn to:

Objectives. In this session, you will learn to: TRS Objectives n this session, you will learn to: Store data in a tree istinguish types of inary tree Traverse a inary Tree norder PreOrder PostOrder onstruct a inary Tree onstruct an expression inary

More information

Computer Science 210 Data Structures Siena College Fall Topic Notes: Trees

Computer Science 210 Data Structures Siena College Fall Topic Notes: Trees Computer Science 0 Data Structures Siena College Fall 08 Topic Notes: Trees We ve spent a lot of time looking at a variety of structures where there is a natural linear ordering of the elements in arrays,

More information

CS 151. Binary Trees. Friday, October 5, 12

CS 151. Binary Trees. Friday, October 5, 12 CS 151 Binary Trees 1 Binary Tree Examples Without telling you what a binary tree is, here are some examples (that I will draw on the board): The dots/circles are called nodes, or vertices (singular: one

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpenCourseWare http://ocw.mit.eu 6.854J / 18.415J Avance Algorithms Fall 2008 For inormation about citing these materials or our Terms o Use, visit: http://ocw.mit.eu/terms. 18.415/6.854 Avance Algorithms

More information

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology Trees : Part Section. () (2) Preorder, Postorder and Levelorder Traversals Definition: A tree is a connected graph with no cycles Consequences: Between any two vertices, there is exactly one unique path

More information

CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Signature: Question # Out Of Marks Marker Total

CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Signature: Question # Out Of Marks Marker Total CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Please check your tutorial (TUT) section from the list below: TUT 101: F 11:30, MC 4042 TUT 102: M 10:30, MC 4042 TUT 103: M 11:30, MC 4058 TUT 104: F 10:30,

More information

Skyline Community Search in Multi-valued Networks

Skyline Community Search in Multi-valued Networks Syline Community Search in Multi-value Networs Rong-Hua Li Beijing Institute of Technology Beijing, China lironghuascut@gmail.com Jeffrey Xu Yu Chinese University of Hong Kong Hong Kong, China yu@se.cuh.eu.h

More information

Topics on the Midterm

Topics on the Midterm Midterm Review Topics on the Midterm Data Structures & Object-Oriented Design Run-Time Analysis Linear Data Structures The Java Collections Framework Recursion Trees Priority Queues & Heaps Maps, Hash

More information

CS 106 Winter 2016 Craig S. Kaplan. Module 01 Processing Recap. Topics

CS 106 Winter 2016 Craig S. Kaplan. Module 01 Processing Recap. Topics CS 106 Winter 2016 Craig S. Kaplan Moule 01 Processing Recap Topics The basic parts of speech in a Processing program Scope Review of syntax for classes an objects Reaings Your CS 105 notes Learning Processing,

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms Trees Sidra Malik sidra.malik@ciitlahore.edu.pk Tree? In computer science, a tree is an abstract model of a hierarchical structure A tree is a finite set of one or more nodes

More information

Data Structures in Java

Data Structures in Java Data Structures in Java Lecture 9: Binary Search Trees. 10/7/015 Daniel Bauer 1 Contents 1. Binary Search Trees. Implementing Maps with BSTs Map ADT A map is collection of (key, value) pairs. Keys are

More information

Module 6: Binary Trees

Module 6: Binary Trees Module : Binary Trees Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 327 E-mail: natarajan.meghanathan@jsums.edu Tree All the data structures we have seen

More information

COMP Analysis of Algorithms & Data Structures

COMP Analysis of Algorithms & Data Structures COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Lecture 9 - Jan. 22, 2018 CLRS 12.2, 12.3, 13.2, read problem 13-3 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures

More information

Frequent Pattern Mining. Frequent Item Set Mining. Overview. Frequent Item Set Mining: Motivation. Frequent Pattern Mining comprises

Frequent Pattern Mining. Frequent Item Set Mining. Overview. Frequent Item Set Mining: Motivation. Frequent Pattern Mining comprises verview Frequent Pattern Mining comprises Frequent Pattern Mining hristian Borgelt School of omputer Science University of Konstanz Universitätsstraße, Konstanz, Germany christian.borgelt@uni-konstanz.e

More information

Preamble. Singly linked lists. Collaboration policy and academic integrity. Getting help

Preamble. Singly linked lists. Collaboration policy and academic integrity. Getting help CS2110 Spring 2016 Assignment A. Linke Lists Due on the CMS by: See the CMS 1 Preamble Linke Lists This assignment begins our iscussions of structures. In this assignment, you will implement a structure

More information

Why Do We Need Trees?

Why Do We Need Trees? CSE 373 Lecture 6: Trees Today s agenda: Trees: Definition and terminology Traversing trees Binary search trees Inserting into and deleting from trees Covered in Chapter 4 of the text Why Do We Need Trees?

More information

Tree: non-recursive definition. Trees, Binary Search Trees, and Heaps. Tree: recursive definition. Tree: example.

Tree: non-recursive definition. Trees, Binary Search Trees, and Heaps. Tree: recursive definition. Tree: example. Trees, Binary Search Trees, and Heaps CS 5301 Fall 2013 Jill Seaman Tree: non-recursive definition Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every node (except

More information

Computer Organization

Computer Organization Computer Organization Douglas Comer Computer Science Department Purue University 250 N. University Street West Lafayette, IN 47907-2066 http://www.cs.purue.eu/people/comer Copyright 2006. All rights reserve.

More information

Heaps. 2/13/2006 Heaps 1

Heaps. 2/13/2006 Heaps 1 Heaps /13/00 Heaps 1 Outline and Reading What is a heap ( 8.3.1) Height of a heap ( 8.3.) Insertion ( 8.3.3) Removal ( 8.3.3) Heap-sort ( 8.3.) Arraylist-based implementation ( 8.3.) Bottom-up construction

More information