Data Structures Week #5. Trees (Ağaçlar)

Size: px
Start display at page:

Download "Data Structures Week #5. Trees (Ağaçlar)"

Transcription

1 Data Structures Week #5 Trees Ağaçlar)

2 Trees Ağaçlar) Toros Gökarı Avrupa Gökarı October 28, 2014 Boraha Tümer, Ph.D. 2

3 Trees Ağaçlar) October 28, 2014 Boraha Tümer, Ph.D. 3

4 Outlie Trees Deiitios Implemetatio o Trees Biary Trees Tree Traversals & Expressio Trees Biary Search Trees October 28, 2014 Boraha Tümer, Ph.D. 4

5 Deiitio o a Tree Deiitio: A tree is a collectio o odes vertices) where the collectio may be empty. Otherwise, the collectio cosists o a distiguished ode r, called the root, ad zero or more o-empty sub)trees T 1,, T k, each o whose roots are coected by a directed edge to r. October 28, 2014 Boraha Tümer, Ph.D. 5

6 More deiitios I-degree o a vertex is the umber o edges arrivig at that vertex. Out-degree o a vertex is the umber o edges leavig that vertex. Nodes with out-degree=0 o childre) are called the leaves o the tree. Root is the oly ode i the tree with i-degree=0. The child C o a ode A is the ode that is coected to A by a sigle edge. The, A is the paret o C. Gradparet ad gradchild relatios ca be deied i the same maer. Nodes with the same paret are called sibligs. October 28, 2014 Boraha Tümer, Ph.D. 6

7 More deiitios A path rom a ode 1 to k is deied as a sequece o odes 1,, k such that i is the paret o i+1 or 1i<k. The legth o this path is the umber o edges o the path, i.e., k-1. There is exactly oe path rom the root to each ode. The depth o ay ode i is the legth o the uique path rom the root to i. The depth o root is 0. The height o ay ode i is the legth o the logest path rom i to a lea. October 28, 2014 Boraha Tümer, Ph.D. 7

8 A Geeral Tree Example Root A Childre o A B, C, D, E, F. Leaves o the tree C, D, G, H, I, K, L, M, ad N. Sibligs o G H ad I. October 28, 2014 Boraha Tümer, Ph.D. 8

9 Remarks The height o all leaves are 0. The height o a tree is the height o its root. The height o the above tree is 3. The height o C is 0. I there is a path rom 1 to 2, the 1 is a acestor o 2 ad 2 is a descedat o 1. October 28, 2014 Boraha Tümer, Ph.D. 9

10 Implemetatio o Trees Oe way to implemet a tree would be to have a poiter i each ode to each child, besides the data it holds. This is ieasible! Q:Why? A:The umber o childre o each ode is variable, ad hece, ukow. Aother optio would be to keep the childre i a liked list where the irst ode o the list is poited to by the poiter i the paret ode as a header. A typical tree ode declaratio i C would be as ollows: struct TNode_type { it data; struct TNodetype *childptr, *sibligptr; } October 28, 2014 Boraha Tümer, Ph.D. 10

11 A Geeral Tree Implemetatio October 28, 2014 Boraha Tümer, Ph.D. 11

12 Biary Trees BTs) A biary tree is a tree o odes with at most two childre. Declaratio o a typical ode i a biary tree struct BTNodeType { iotype *data; struct BTNodeType *let; struct BTNodeType *right; } Average depth i BTs: O ) October 28, 2014 Boraha Tümer, Ph.D. 12

13 A Biary Tree Topology October 28, 2014 Boraha Tümer, Ph.D. 13

14 Tree Traversals A tree ca be traversed recursively i three dieret ways: i-order traversal let-ode-right or LNR) First recursively visit the let subtree. Next process the data i the curret ode. Fially, recursively visit the right subtree. pre-order traversal ode-let-right or NLR) post-order traversal let-right-ode or LRN) October 28, 2014 Boraha Tümer, Ph.D. 14

15 Recursive I-order LNR) Traversal void i-orderbtnodetype *p) { i p!=ull){ i-orderp->let); operatep); i-orderp->right); } } October 28, 2014 Boraha Tümer, Ph.D. 15

16 Recursive Pre-order NLR) Traversal void pre-orderbtnodetype *p) { i p!=ull){ operatep); pre-orderp->let); pre-orderp->right); } } October 28, 2014 Boraha Tümer, Ph.D. 16

17 Recursive Post-order LRN) Traversal void post-orderbtnodetype *p) { i p!=ull){ post-orderp->let); post-orderp->right); operatep); } } October 28, 2014 Boraha Tümer, Ph.D. 17

18 Expressio Trees Preix, postix ad iix ormats o arithmetic expressios Iix Postix Preix A+B AB+ +AB A/B+C) ABC+/ /A+BC A/B+C AB/C+ +/ABC A-B*C+D/E+F) ABC*-DEF+/+ +-A*BC/D+EF A*B+C)/D-E)+F)-G/H-I) ABC+DE-/F+*GHI-/- -*A+/+BC-DEF/G-HI October 28, 2014 Boraha Tümer, Ph.D. 18

19 Costructio o a Expressio Tree rom Postix Expressios Iitialize a empty stack o subtrees Repeat Get toke; i toke is a operad Push it as a subtree else pop the last two subtrees ad orm & push a subtree such that root is the curret operator ad let ad right operads are the ormer ad latter subtrees, respectively Util the ed o arithmetic expressio October 28, 2014 Boraha Tümer, Ph.D. 19

20 Example to Costructio o Expressio Trees Empty Stack o subtrees ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 20

21 Example to Costructio o Expressio Trees - 1 Stack o subtrees A ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 21

22 Example to Costructio o Expressio Trees - 2 Stack o subtrees A B ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 22

23 Example to Costructio o Expressio Trees - 3 Stack o subtrees A B C ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 23

24 Example to Costructio o Expressio Trees - 4 Stack o subtrees A + B C ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 24

25 Example to Costructio o Expressio Trees - 5 Stack o subtrees A + D B C ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 25

26 Example to Costructio o Expressio Trees - 6 Stack o subtrees A + D E B C ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 26

27 Example to Costructio o Expressio Trees - 7 Stack o subtrees A + - B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 27

28 Example to Costructio o Expressio Trees - 8 Stack o subtrees A + / - B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 28

29 Example to Costructio o Expressio Trees - 9 Stack o subtrees A + / - F B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 29

30 Example to Costructio o Expressio Trees - 10 Stack o subtrees A + / F + - B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 30

31 Example to Costructio o Expressio Trees - 11 Stack o subtrees A * + / F + - B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 31

32 Example to Costructio o Expressio Trees - 12 Stack o subtrees A * G + / F + - B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 32

33 Example to Costructio o Expressio Trees - 13 Stack o subtrees A * G H + / F + - B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 33

34 Example to Costructio o Expressio Trees - 14 Stack o subtrees A * G H I + / F + - B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 34

35 Example to Costructio o Expressio Trees - 15 Stack o subtrees A * + G + / F H - - I B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 35

36 Example to Costructio o Expressio Trees - 16 Stack o subtrees * / A + / F G H I B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 36

37 Example to Costructio o Expressio Trees Stack o subtrees A * + / F G / B C D E ABC+DE-/F+*GHI-/- October 28, 2014 Boraha Tümer, Ph.D. 37 H I

38 Biary Search Trees BSTs) BSTs are biary trees with keys placed i each ode i such a maer that the key o a ode is greater tha all keys i its let sub-tree ad less tha all keys i its right sub-tree. Here, we assume o replicatio o keys. For replicatig keys, the relatios are modiied as greater tha or equal to or less tha or equal to depedig o the applicatio. October 28, 2014 Boraha Tümer, Ph.D. 38

39 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 39

40 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 40

41 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 41

42 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 42

43 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 43

44 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 44

45 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 45

46 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 46

47 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 47

48 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 48

49 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 49

50 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 50

51 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 51

52 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 52

53 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 53

54 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 54

55 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 55

56 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 56

57 A Biary Search Tree Example October 28, 2014 Boraha Tümer, Ph.D. 57

58 Recursive Fid Fuctio i BSTs it id BTNodeType *p, it key) { // we assume iotype i BTNodeType is it i p!= NULL) i key < p->data) idp->let, key); else i key > p->data) idp->right, key); else i p->data == key) prit p->data); } October 28, 2014 Boraha Tümer, Ph.D. 58

59 Aalysis o Fid - 1 We would like to calculate the search time, t), it takes to id a give key i a BST with odes or to id it is ot i the BST!). First let us aswer the ollowig questio: Questio: What is the uit operatio perormed to accomplish the search? Aswer: The compariso o the key searched with the key stored i the tree ode i.e., i key < p->data) or i key > p->data) or i key == p->data) ). Hece, what we eed to do to id t) is to cout, as a uctio o, how may times the compariso is executed. October 28, 2014 Boraha Tümer, Ph.D. 59

60 Aalysis o Fid - 2 Now, we have coverted the problem ito oe as i the ollowig: what is the average umber o comparisos perormed to id a give key i a BST? or how may odes, o average, are visited to id a give key or to id it is ot i the BST? or, i a higher level o detail, what is the average depth o the ode that stores the key we are lookig or or, i case the key is ot i the BST, what is the average depth o the lea at the ed o the path our search ollows through? October 28, 2014 Boraha Tümer, Ph.D. 60

61 Aalysis o Fid - 3 Now, we tur back to ormulatig t): We will do the ormulatio or three cases: 1. Average case 2. Worst case 3. Best case October 28, 2014 Boraha Tümer, Ph.D. 61

62 Aalysis o Fid: Average Case - 1 Average case: Each ode has a let ad right subtree. The search time will cosist o the search time o the let subtree, right subtree ad the time spet or the root i the mai BST. That is, the sum o all depths o odes i a BST also kow as the iteral path legth) will be the sum o the depths o those odes i the let subtree, those i the right subtree ad the additioal cotributio o the root i the mai tree. We will ormulate ad id the iteral path legth ) o a BST with odes. Assume the let ad right subtrees o the root o a BST with odes have k ad -k-1 odes, respectively. The the depth may be expressed as ollows: )=k)+-k-1)+-1; The term -1 is added to the sum o depths due to the act that all odes i the BST are oe level deeper i the mai BST because o the root o the mai BST). October 28, 2014 Boraha Tümer, Ph.D. 62

63 A example tree with 14) k) ) -k-1) 14) 14) 14) t ) 3) 10) ) t ) October 28, 2014 Boraha Tümer, Ph.D. 63

64 Aother example tree with 14) -k-1) k) ) 14) 9) 4) ) ) 36 t ) ) t ) October 28, 2014 Boraha Tümer, Ph.D. 64

65 Average Case - 2 )=k)+-k-1)+-1; k ad -k-1 ca be ay umber betwee betwee 0 ad -1. To come up with a geeral solutio, we ca average k) ad -k-1): ave ) 2 1 k0 k) 1 From this poit o we will drop the subscript o ad use ) to deote ave ) October 28, 2014 Boraha Tümer, Ph.D. 65

66 October 28, 2014 Boraha Tümer, Ph.D. 66 Average Case - 3 1) 1) 2 1) 1 ) 1); 2 1) 1) ) ) ) 1); 2 1) 2 1) 1) ) ) 2) 1) ) 2 1) 1) ) 1); ) 2 ) 1* ) 2 ) II I II k I k k k k k

67 October 28, 2014 Boraha Tümer, Ph.D. 67 Average Case - 4 i i i i i i i i 1 1 1) 1 1) 2 0) 1) ) 1) 1 2 0) 1 ) 0 1 0) 2 1) 2* ) 3 2) 1) ) 1) 1) 1 2 1) 1 )

68 October 28, 2014 Boraha Tümer, Ph.D. 68 Average Case - 5 )) log )) log ) log ; 1 1) 2 4 1) 2 ) ) 2 ) ) 2 ) 0 0) ; ) 1 ; 1) 1 1) 2 0) 1) ) ) log O O c x a x dx i i i i i i i i i i i i i i i i i To id the average per ode) umber o comparisos, N ave, we divide ) by the umber o odes : N ave = )/Olog )

69 Aalysis o Fid: Worst Case - 1 Worst Case BST: The worst case BST is oe with the deepest path. A - ode such BST is oe with depth levels. Questio: How may such -ode BSTs are there? We will ormulate ad id the iteral path legth ) i a worst case -ode BST. I such a BST oe subtree o the root orms a liked list o -1 odes whereas the other subtree has o odes. The the depth may be expressed as ollows: )=-1)+-1. October 28, 2014 Boraha Tümer, Ph.D. 69

70 October 28, 2014 Boraha Tümer, Ph.D. 70 Worst Case - 2?) ) ) ) 0 1) ) 0 1) 1) : 0 1) 1; 1) ) O c c c c c c c c c c c c x x CE Order o ): )=O 2 )

71 Aalysis o Fid: Best Case - 1 Best Case BST: The best case BST is oe with the least tree depth. A -ode such BST is oe with log 2 1 depth levels. Questio: How may such -ode BSTs are there? We will ormulate ad id the iteral path legth ) i a best case -ode BST. I such a BST both subtrees o the root have the same umber o odes i.e., /2 odes). The the depth may be expressed as ollows: )=2/2)+-1. October 28, 2014 Boraha Tümer, Ph.D. 71

72 October 28, 2014 Boraha Tümer, Ph.D. 72 Best Case - 2?) ) ) log 2 1 ) ) 0 1) ) log ) 2 2 ) 0 1) 2) 2) : 1 2 1) 2 ) 2 0; 1) 1; 2) / 2 ) O c c c c c c k c c k x x x CE k k k k k k Order o ): )=Olg)

73 No-recursive FidMi Fuctio i BSTs BTNodeType *idmi BTNodeType *p) {// returs a poiter to ode with the miimum key i the BST. // which oe is the ode with the miimum key i a BST? i p!= NULL) while p->let!= NULL) p=p->let; retur p; } October 28, 2014 Boraha Tümer, Ph.D. 73

74 Recursive FidMax Fuctio i BSTs BTNodeType *idmax BTNodeType *p) {// returs a poiter to ode with the maximum key i the BST // which oe is the maximum key i a BST? i p == NULL) retur NULL; i p->right == NULL) retur p; retur idmaxp->right); } October 28, 2014 Boraha Tümer, Ph.D. 74

75 Recursive Isert Fuctio i BSTs BTNodeType *Isert iotype * key, BTNodeType *p) {// returs a poiter to ew ode with key iserted i the BST. } i p == NULL) { //empty tree p=mallocsizeobtnodetype)); i p == NULL) retur OutoMemoryError; //o heap space let!!! p->data=key; p->let=p->right=null; retur p; } else i key < p->data) //tree exists, key < root p->let=isertkey,p->let); else i key > p->data) //tree exists, key > root p->right=isertkey,p->right); // retur p; //key oud October 28, 2014 Boraha Tümer, Ph.D. 75

76 Recursive Remove Fuctio i BSTs BTNodeType *Remove iotype *key, BTNodeType *p) {// returs a poiter to ode replacig the ode removed. BTNodeType *TempPtr; i p == NULL) retur errormessage empty tree ); i key < p->data) p->let=removekey,p->let); else i key > p->data) p->right=removekey,p->right); else i p->right && p->let) { TmpPtr=idMip->right); p->data=tmpptr->data; p->right=removep->data,p->right); } } else { TmpPtr=p; i p->let == NULL) p=p->right; else i p->right == NULL) p=p->let; reetmpptr); } retur p; //empty tree //ode with key oud!!! //i ode has two childre //id smallest key o right subtree o ode with key //replace removed data by smallest key o right subtree //i ode has less tha two childre October 28, 2014 Boraha Tümer, Ph.D. 76

77 Example or Remove Fuctio...1 Remove i p->right && p->let) {// two childre TmpPtr=idMip->right); //id smallest key //o right subtree p->data=tmpptr->data; // traser key p->right=removep->data,p->right); //replace } p Miimum o Right subtree October 28, 2014 Boraha Tümer, Ph.D. 77

78 Example or Remove Fuctio...1 Remove i p->right && p->let) {// two childre TmpPtr=idMip->right); //id smallest key //o right subtree p->data=tmpptr->data; // traser key p->right=removep->data,p->right); //replace } p TmpPtr October 28, 2014 Boraha Tümer, Ph.D. 78

79 Example or Remove Fuctio...1 Remove i p->right && p->let) {// two childre TmpPtr=idMip->right); //id smallest key //o right subtree p->data=tmpptr->data; // traser key p->right=removep->data,p->right); //replace } p TmpPtr October 28, 2014 Boraha Tümer, Ph.D. 79

80 Example or Remove Fuctio...1 Remove i p->right && p->let) {// two childre TmpPtr=idMip->right); //id smallest key //o right subtree p->data=tmpptr->data; // traser key p->right=removep->data,p->right); //replace } p October 28, 2014 Boraha Tümer, Ph.D. 80

81 Best-Average-Worst Case Access Times o a speciic BST To id a ode with some speciic piece o data, a search gets started rom the root. Data at each ode is compared with the key that is searched or. Coutig up the umber o comparisos or each ode will reder the access time. October 28, 2014 Boraha Tümer, Ph.D. 81

82 Calculatio o Access Time Access to some speciic piece o data is achieved whe the ode this piece o data resides is oud. To id this ode, a search gets started rom the root. Data at each ode is compared with the key that is searched or. Coutig up the umber o comparisos or each ode will reder the access time. October 28, 2014 Boraha Tümer, Ph.D. 82

83 Calculatio o Access Time Depth level # o Comparisos/ ode # o Comparisos/ level 0 1 1*1= *2= *3= *5= *7= *1=6 Total Nodes: BST Access Times Average 75/19=3.94 Worst 6 Best 1 October 28, 2014 Boraha Tümer, Ph.D. 83

CIS 121. Introduction to Trees

CIS 121. Introduction to Trees CIS 121 Itroductio to Trees 1 Tree ADT Tree defiitio q A tree is a set of odes which may be empty q If ot empty, the there is a distiguished ode r, called root ad zero or more o-empty subtrees T 1, T 2,

More information

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13 CIS Data Structures ad Algorithms with Java Sprig 08 Stacks ad Queues Moday, February / Tuesday, February Learig Goals Durig this lab, you will: Review stacks ad queues. Lear amortized ruig time aalysis

More information

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Presetatio for use with the textbook Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 201 Heaps 201 Goodrich ad Tamassia xkcd. http://xkcd.com/83/. Tree. Used with permissio uder

More information

Fundamental Algorithms

Fundamental Algorithms Techische Uiversität Müche Fakultät für Iformatik Lehrstuhl für Effiziete Algorithme Dmytro Chibisov Sadeep Sadaada Witer Semester 2007/08 Solutio Sheet 6 November 30, 2007 Fudametal Algorithms Problem

More information

Priority Queues. Binary Heaps

Priority Queues. Binary Heaps Priority Queues Biary Heaps Priority Queues Priority: some property of a object that allows it to be prioritized with respect to other objects of the same type Mi Priority Queue: homogeeous collectio of

More information

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19 CIS Data Structures ad Algorithms with Java Sprig 09 Stacks, Queues, ad Heaps Moday, February 8 / Tuesday, February 9 Stacks ad Queues Recall the stack ad queue ADTs (abstract data types from lecture.

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpeCourseWare http://ocw.mit.edu 6.854J / 18.415J Advaced Algorithms Fall 2008 For iformatio about citig these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advaced Algorithms

More information

Lecture 5. Counting Sort / Radix Sort

Lecture 5. Counting Sort / Radix Sort Lecture 5. Coutig Sort / Radix Sort T. H. Corme, C. E. Leiserso ad R. L. Rivest Itroductio to Algorithms, 3rd Editio, MIT Press, 2009 Sugkyukwa Uiversity Hyuseug Choo choo@skku.edu Copyright 2000-2018

More information

CS211 Fall 2003 Prelim 2 Solutions and Grading Guide

CS211 Fall 2003 Prelim 2 Solutions and Grading Guide CS11 Fall 003 Prelim Solutios ad Gradig Guide Problem 1: (a) obj = obj1; ILLEGAL because type of referece must always be a supertype of type of object (b) obj3 = obj1; ILLEGAL because type of referece

More information

BST Sequence of Operations

BST Sequence of Operations Splay Trees Problems with BSTs Because the shape of a BST is determied by the order that data is iserted, we ru the risk of trees that are essetially lists 12 21 20 32 24 37 15 40 55 56 77 2 BST Sequece

More information

Data Structures Week #9. Sorting

Data Structures Week #9. Sorting Data Structures Week #9 Sortig Outlie Motivatio Types of Sortig Elemetary (O( 2 )) Sortig Techiques Other (O(*log())) Sortig Techiques 21.Aralık.2010 Boraha Tümer, Ph.D. 2 Sortig 21.Aralık.2010 Boraha

More information

top() Applications of Stacks

top() Applications of Stacks CS22 Algorithms ad Data Structures MW :00 am - 2: pm, MSEC 0 Istructor: Xiao Qi Lecture 6: Stacks ad Queues Aoucemets Quiz results Homework 2 is available Due o September 29 th, 2004 www.cs.mt.edu~xqicoursescs22

More information

A graphical view of big-o notation. c*g(n) f(n) f(n) = O(g(n))

A graphical view of big-o notation. c*g(n) f(n) f(n) = O(g(n)) ca see that time required to search/sort grows with size of We How do space/time eeds of program grow with iput size? iput. time: cout umber of operatios as fuctio of iput Executio size operatio Assigmet:

More information

Minimum Spanning Trees

Minimum Spanning Trees Miimum Spaig Trees Miimum Spaig Trees Spaig subgraph Subgraph of a graph G cotaiig all the vertices of G Spaig tree Spaig subgraph that is itself a (free) tree Miimum spaig tree (MST) Spaig tree of a weighted

More information

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures Uiversity of Waterloo Departmet of Electrical ad Computer Egieerig ECE 250 Algorithms ad Data Structures Midterm Examiatio ( pages) Istructor: Douglas Harder February 7, 2004 7:30-9:00 Name (last, first)

More information

Algorithm. Counting Sort Analysis of Algorithms

Algorithm. Counting Sort Analysis of Algorithms Algorithm Coutig Sort Aalysis of Algorithms Assumptios: records Coutig sort Each record cotais keys ad data All keys are i the rage of 1 to k Space The usorted list is stored i A, the sorted list will

More information

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000. 5-23 The course that gives CM its Zip Memory Maagemet II: Dyamic Storage Allocatio Mar 6, 2000 Topics Segregated lists Buddy system Garbage collectio Mark ad Sweep Copyig eferece coutig Basic allocator

More information

Examples and Applications of Binary Search

Examples and Applications of Binary Search Toy Gog ITEE Uiersity of Queeslad I the secod lecture last week we studied the biary search algorithm that soles the problem of determiig if a particular alue appears i a sorted list of iteger or ot. We

More information

Announcements TREES II. Comparing Data Structures. Binary Search Trees. Red-Black Trees. Red-Black Trees 3/13/18

Announcements TREES II. Comparing Data Structures. Binary Search Trees. Red-Black Trees. Red-Black Trees 3/13/18 //8 Aoucemets Prelim is Toight, brig your studet ID :PM EXAM OLH: etids startig aa to dh OLH: etids startig di to ji PHL: etids startig jj to ks (Plus studets who switched from the 7: exam) TREES II Lecture

More information

CMPT 125 Assignment 2 Solutions

CMPT 125 Assignment 2 Solutions CMPT 25 Assigmet 2 Solutios Questio (20 marks total) a) Let s cosider a iteger array of size 0. (0 marks, each part is 2 marks) it a[0]; I. How would you assig a poiter, called pa, to store the address

More information

Solution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Spring, Instructions:

Solution printed. Do not start the test until instructed to do so! CS 2604 Data Structures Midterm Spring, Instructions: CS 604 Data Structures Midterm Sprig, 00 VIRG INIA POLYTECHNIC INSTITUTE AND STATE U T PROSI M UNI VERSI TY Istructios: Prit your ame i the space provided below. This examiatio is closed book ad closed

More information

Priority Queues and Heaps (Ch 5.5) Huffman Coding Trees (Ch 5.6) Binary Search Trees (Ch 5.4) Lec 5: Binary Tree. Dr. Patrick Chan

Priority Queues and Heaps (Ch 5.5) Huffman Coding Trees (Ch 5.6) Binary Search Trees (Ch 5.4) Lec 5: Binary Tree. Dr. Patrick Chan ata Structure hapter Biary Trees r. Patrick ha School of om puter Sciece ad Egieerig South hia Uiversity of Techolog y Recursio recursio is a procedure which calls itself The recursive procedure call must

More information

15-859E: Advanced Algorithms CMU, Spring 2015 Lecture #2: Randomized MST and MST Verification January 14, 2015

15-859E: Advanced Algorithms CMU, Spring 2015 Lecture #2: Randomized MST and MST Verification January 14, 2015 15-859E: Advaced Algorithms CMU, Sprig 2015 Lecture #2: Radomized MST ad MST Verificatio Jauary 14, 2015 Lecturer: Aupam Gupta Scribe: Yu Zhao 1 Prelimiaries I this lecture we are talkig about two cotets:

More information

Computational Geometry

Computational Geometry Computatioal Geometry Chapter 4 Liear programmig Duality Smallest eclosig disk O the Ageda Liear Programmig Slides courtesy of Craig Gotsma 4. 4. Liear Programmig - Example Defie: (amout amout cosumed

More information

CSC165H1 Worksheet: Tutorial 8 Algorithm analysis (SOLUTIONS)

CSC165H1 Worksheet: Tutorial 8 Algorithm analysis (SOLUTIONS) CSC165H1, Witer 018 Learig Objectives By the ed of this worksheet, you will: Aalyse the ruig time of fuctios cotaiig ested loops. 1. Nested loop variatios. Each of the followig fuctios takes as iput a

More information

Graphs. Minimum Spanning Trees. Slides by Rose Hoberman (CMU)

Graphs. Minimum Spanning Trees. Slides by Rose Hoberman (CMU) Graphs Miimum Spaig Trees Slides by Rose Hoberma (CMU) Problem: Layig Telephoe Wire Cetral office 2 Wirig: Naïve Approach Cetral office Expesive! 3 Wirig: Better Approach Cetral office Miimize the total

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

Numerical Methods Lecture 6 - Curve Fitting Techniques

Numerical Methods Lecture 6 - Curve Fitting Techniques Numerical Methods Lecture 6 - Curve Fittig Techiques Topics motivatio iterpolatio liear regressio higher order polyomial form expoetial form Curve fittig - motivatio For root fidig, we used a give fuctio

More information

Sorting in Linear Time. Data Structures and Algorithms Andrei Bulatov

Sorting in Linear Time. Data Structures and Algorithms Andrei Bulatov Sortig i Liear Time Data Structures ad Algorithms Adrei Bulatov Algorithms Sortig i Liear Time 7-2 Compariso Sorts The oly test that all the algorithms we have cosidered so far is compariso The oly iformatio

More information

CSE 417: Algorithms and Computational Complexity

CSE 417: Algorithms and Computational Complexity Time CSE 47: Algorithms ad Computatioal Readig assigmet Read Chapter of The ALGORITHM Desig Maual Aalysis & Sortig Autum 00 Paul Beame aalysis Problem size Worst-case complexity: max # steps algorithm

More information

Sorting 9/15/2009. Sorting Problem. Insertion Sort: Soundness. Insertion Sort. Insertion Sort: Running Time. Insertion Sort: Soundness

Sorting 9/15/2009. Sorting Problem. Insertion Sort: Soundness. Insertion Sort. Insertion Sort: Running Time. Insertion Sort: Soundness 9/5/009 Algorithms Sortig 3- Sortig Sortig Problem The Sortig Problem Istace: A sequece of umbers Objective: A permutatio (reorderig) such that a ' K a' a, K,a a ', K, a' of the iput sequece The umbers

More information

Abstract. Chapter 4 Computation. Overview 8/13/18. Bjarne Stroustrup Note:

Abstract. Chapter 4 Computation. Overview 8/13/18. Bjarne Stroustrup   Note: Chapter 4 Computatio Bjare Stroustrup www.stroustrup.com/programmig Abstract Today, I ll preset the basics of computatio. I particular, we ll discuss expressios, how to iterate over a series of values

More information

Elementary Data Structures. The Stack ADT ( 2.1.1) Applications of Stacks. Stacks, Queues, Vectors, Lists & Sequences Trees

Elementary Data Structures. The Stack ADT ( 2.1.1) Applications of Stacks. Stacks, Queues, Vectors, Lists & Sequences Trees Elemetary Data Structures Stacks, Queues, ectors, Lists & Sequeces Trees The Stack ADT ( 2..) The Stack ADT stores arbitrary objects Isertios ad deletios follow the last-i first-out scheme Thik of a sprig-loaded

More information

Chapter 24. Sorting. Objectives. 1. To study and analyze time efficiency of various sorting algorithms

Chapter 24. Sorting. Objectives. 1. To study and analyze time efficiency of various sorting algorithms Chapter 4 Sortig 1 Objectives 1. o study ad aalyze time efficiecy of various sortig algorithms 4. 4.7.. o desig, implemet, ad aalyze bubble sort 4.. 3. o desig, implemet, ad aalyze merge sort 4.3. 4. o

More information

Homework 1 Solutions MA 522 Fall 2017

Homework 1 Solutions MA 522 Fall 2017 Homework 1 Solutios MA 5 Fall 017 1. Cosider the searchig problem: Iput A sequece of umbers A = [a 1,..., a ] ad a value v. Output A idex i such that v = A[i] or the special value NIL if v does ot appear

More information

Lower Bounds for Sorting

Lower Bounds for Sorting Liear Sortig Topics Covered: Lower Bouds for Sortig Coutig Sort Radix Sort Bucket Sort Lower Bouds for Sortig Compariso vs. o-compariso sortig Decisio tree model Worst case lower boud Compariso Sortig

More information

Octahedral Graph Scaling

Octahedral Graph Scaling Octahedral Graph Scalig Peter Russell Jauary 1, 2015 Abstract There is presetly o strog iterpretatio for the otio of -vertex graph scalig. This paper presets a ew defiitio for the term i the cotext of

More information

CSE 2320 Notes 8: Sorting. (Last updated 10/3/18 7:16 PM) Idea: Take an unsorted (sub)array and partition into two subarrays such that.

CSE 2320 Notes 8: Sorting. (Last updated 10/3/18 7:16 PM) Idea: Take an unsorted (sub)array and partition into two subarrays such that. CSE Notes 8: Sortig (Last updated //8 7:6 PM) CLRS 7.-7., 9., 8.-8. 8.A. QUICKSORT Cocepts Idea: Take a usorted (sub)array ad partitio ito two subarrays such that p q r x y z x y y z Pivot Customarily,

More information

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

DATA STRUCTURES. amortized analysis binomial heaps Fibonacci heaps union-find. Data structures. Appetizer. Appetizer

DATA STRUCTURES. amortized analysis binomial heaps Fibonacci heaps union-find. Data structures. Appetizer. Appetizer Data structures DATA STRUCTURES Static problems. Give a iput, produce a output. Ex. Sortig, FFT, edit distace, shortest paths, MST, max-flow,... amortized aalysis biomial heaps Fiboacci heaps uio-fid Dyamic

More information

Massachusetts Institute of Technology Lecture : Theory of Parallel Systems Feb. 25, Lecture 6: List contraction, tree contraction, and

Massachusetts Institute of Technology Lecture : Theory of Parallel Systems Feb. 25, Lecture 6: List contraction, tree contraction, and Massachusetts Istitute of Techology Lecture.89: Theory of Parallel Systems Feb. 5, 997 Professor Charles E. Leiserso Scribe: Guag-Ie Cheg Lecture : List cotractio, tree cotractio, ad symmetry breakig Work-eciet

More information

Combination Labelings Of Graphs

Combination Labelings Of Graphs Applied Mathematics E-Notes, (0), - c ISSN 0-0 Available free at mirror sites of http://wwwmaththuedutw/ame/ Combiatio Labeligs Of Graphs Pak Chig Li y Received February 0 Abstract Suppose G = (V; E) is

More information

How do we evaluate algorithms?

How do we evaluate algorithms? F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:

More information

1 Graph Sparsfication

1 Graph Sparsfication CME 305: Discrete Mathematics ad Algorithms 1 Graph Sparsficatio I this sectio we discuss the approximatio of a graph G(V, E) by a sparse graph H(V, F ) o the same vertex set. I particular, we cosider

More information

Exercise 6 (Week 42) For the foreign students only.

Exercise 6 (Week 42) For the foreign students only. These are the last exercises of the course. Please, remember that to pass exercises, the sum of the poits gathered by solvig the questios ad attedig the exercise groups must be at least 4% ( poits) of

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Ruig Time of a algorithm Ruig Time Upper Bouds Lower Bouds Examples Mathematical facts Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite

More information

Lecturers: Sanjam Garg and Prasad Raghavendra Feb 21, Midterm 1 Solutions

Lecturers: Sanjam Garg and Prasad Raghavendra Feb 21, Midterm 1 Solutions U.C. Berkeley CS170 : Algorithms Midterm 1 Solutios Lecturers: Sajam Garg ad Prasad Raghavedra Feb 1, 017 Midterm 1 Solutios 1. (4 poits) For the directed graph below, fid all the strogly coected compoets

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1 COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,

More information

5.3 Recursive definitions and structural induction

5.3 Recursive definitions and structural induction /8/05 5.3 Recursive defiitios ad structural iductio CSE03 Discrete Computatioal Structures Lecture 6 A recursively defied picture Recursive defiitios e sequece of powers of is give by a = for =0,,, Ca

More information

Σ P(i) ( depth T (K i ) + 1),

Σ P(i) ( depth T (K i ) + 1), EECS 3101 York Uiversity Istructor: Ady Mirzaia DYNAMIC PROGRAMMING: OPIMAL SAIC BINARY SEARCH REES his lecture ote describes a applicatio of the dyamic programmig paradigm o computig the optimal static

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

CS 11 C track: lecture 1

CS 11 C track: lecture 1 CS 11 C track: lecture 1 Prelimiaries Need a CMS cluster accout http://acctreq.cms.caltech.edu/cgi-bi/request.cgi Need to kow UNIX IMSS tutorial liked from track home page Track home page: http://courses.cms.caltech.edu/courses/cs11/material

More information

quality/quantity peak time/ratio

quality/quantity peak time/ratio Semi-Heap ad Its Applicatios i Touramet Rakig Jie Wu Departmet of omputer Sciece ad Egieerig Florida Atlatic Uiversity oca Rato, FL 3343 jie@cse.fau.edu September, 00 . Itroductio ad Motivatio. relimiaries

More information

Thompson s Group F (p + 1) is not Minimally Almost Convex

Thompson s Group F (p + 1) is not Minimally Almost Convex Thompso s Group F (p + ) is ot Miimally Almost Covex Claire Wladis Thompso s Group F (p + ). A Descriptio of F (p + ) Thompso s group F (p + ) ca be defied as the group of piecewiseliear orietatio-preservig

More information

CS553 Lecture Reuse Optimization: Common SubExpr Elim 3

CS553 Lecture Reuse Optimization: Common SubExpr Elim 3 Reuse Optimizatio Last time Value umberig Today Commo subexpressio elimiatio (CSE) CS553 Lecture Reuse Optimizatio: Commo SubExpr Elim 2 Commo Subexpressio Elimiatio Fid commo subexpressios whose rage

More information

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis Outlie ad Readig Aalysis of Algorithms Iput Algorithm Output Ruig time ( 3.) Pseudo-code ( 3.2) Coutig primitive operatios ( 3.3-3.) Asymptotic otatio ( 3.6) Asymptotic aalysis ( 3.7) Case study Aalysis

More information

Recursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames

Recursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames Uit 4, Part 3 Recursio Computer Sciece S-111 Harvard Uiversity David G. Sulliva, Ph.D. Review: Method Frames Whe you make a method call, the Java rutime sets aside a block of memory kow as the frame of

More information

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1 CS200: Hash Tables Prichard Ch. 13.2 CS200 - Hash Tables 1 Table Implemetatios: average cases Search Add Remove Sorted array-based Usorted array-based Balaced Search Trees O(log ) O() O() O() O(1) O()

More information

Algorithm Design Techniques. Divide and conquer Problem

Algorithm Design Techniques. Divide and conquer Problem Algorithm Desig Techiques Divide ad coquer Problem Divide ad Coquer Algorithms Divide ad Coquer algorithm desig works o the priciple of dividig the give problem ito smaller sub problems which are similar

More information

why study sorting? Sorting is a classic subject in computer science. There are three reasons for studying sorting algorithms.

why study sorting? Sorting is a classic subject in computer science. There are three reasons for studying sorting algorithms. Chapter 5 Sortig IST311 - CIS65/506 Clevelad State Uiversity Prof. Victor Matos Adapted from: Itroductio to Java Programmig: Comprehesive Versio, Eighth Editio by Y. Daiel Liag why study sortig? Sortig

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

NTH, GEOMETRIC, AND TELESCOPING TEST

NTH, GEOMETRIC, AND TELESCOPING TEST NTH, GEOMETRIC, AND TELESCOPING TEST Sectio 9. Calculus BC AP/Dual, Revised 08 viet.dag@humbleisd.et /4/08 0:0 PM 9.: th, Geometric, ad Telescopig Test SUMMARY OF TESTS FOR SERIES Lookig at the first few

More information

Surviving rates of trees and outerplanar graphs for the

Surviving rates of trees and outerplanar graphs for the Survivig rates o trees ad outerplaar graphs or the ireighter problem Leizhe Cai Yogxi Cheg Elad Verbi Yua Zhou Abstract The ireighter problem is a discrete-time game o graphs itroduced by Hartell i a attempt

More information

Design and Analysis of Algorithms Notes

Design and Analysis of Algorithms Notes Desig ad Aalysis of Algorithms Notes Notes by Wist Course taught by Dr. K Amer Course started: Jauary 4, 013 Course eded: December 13, 01 Curret geeratio: December 18, 013 Listigs 1 Array sum pseudocode.................................

More information

CMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 3: ISA ad Itroductio to Microarchitecture Prof. Yajig Li Uiversity of Chicago Lecture Outlie ISA uarch (hardware implemetatio of a ISA) Logic desig basics Sigle-cycle

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Linked Lists 11/16/18. Preliminaries. Java References. Objects and references. Self references. Linking self-referential nodes

Linked Lists 11/16/18. Preliminaries. Java References. Objects and references. Self references. Linking self-referential nodes Prelimiaries Liked Lists public class StrageObject { Strig ame; StrageObject other; Arrays are ot always the optimal data structure: A array has fixed size eeds to be copied to expad its capacity Addig

More information

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems

More information

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria.

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria. Computer Sciece Foudatio Exam August, 005 Computer Sciece Sectio A No Calculators! Name: SSN: KEY Solutios ad Gradig Criteria Score: 50 I this sectio of the exam, there are four (4) problems. You must

More information

Major CSL Write your name and entry no on every sheet of the answer script. Time 2 Hrs Max Marks 70

Major CSL Write your name and entry no on every sheet of the answer script. Time 2 Hrs Max Marks 70 NOTE:. Attempt all seve questios. Major CSL 02 2. Write your ame ad etry o o every sheet of the aswer script. Time 2 Hrs Max Marks 70 Q No Q Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Total MM 6 2 4 0 8 4 6 70 Q. Write a

More information

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The

More information

Random Graphs and Complex Networks T

Random Graphs and Complex Networks T Radom Graphs ad Complex Networks T-79.7003 Charalampos E. Tsourakakis Aalto Uiversity Lecture 3 7 September 013 Aoucemet Homework 1 is out, due i two weeks from ow. Exercises: Probabilistic iequalities

More information

The isoperimetric problem on the hypercube

The isoperimetric problem on the hypercube The isoperimetric problem o the hypercube Prepared by: Steve Butler November 2, 2005 1 The isoperimetric problem We will cosider the -dimesioal hypercube Q Recall that the hypercube Q is a graph whose

More information

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The

More information

Alpha Individual Solutions MAΘ National Convention 2013

Alpha Individual Solutions MAΘ National Convention 2013 Alpha Idividual Solutios MAΘ Natioal Covetio 0 Aswers:. D. A. C 4. D 5. C 6. B 7. A 8. C 9. D 0. B. B. A. D 4. C 5. A 6. C 7. B 8. A 9. A 0. C. E. B. D 4. C 5. A 6. D 7. B 8. C 9. D 0. B TB. 570 TB. 5

More information

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis Overview Chapter 6 Writig a Program Bjare Stroustrup Some thoughts o software developmet The idea of a calculator Usig a grammar Expressio evaluatio Program orgaizatio www.stroustrup.com/programmig 3 Buildig

More information

Data Structures Week #3. Stacks

Data Structures Week #3. Stacks Data Structures Week #3 Stacks Outline Stacks Operations on Stacks Array Implementation of Stacks Linked List Implementation of Stacks Stack Applications October 5, 2015 Borahan Tümer, Ph.D. 2 Stacks (Yığınlar)

More information

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence _9.qxd // : AM Page Chapter 9 Sequeces, Series, ad Probability 9. Sequeces ad Series What you should lear Use sequece otatio to write the terms of sequeces. Use factorial otatio. Use summatio otatio to

More information

Recursion. Recursion. Mathematical induction: example. Recursion. The sum of the first n odd numbers is n 2 : Informal proof: Principle:

Recursion. Recursion. Mathematical induction: example. Recursion. The sum of the first n odd numbers is n 2 : Informal proof: Principle: Recursio Recursio Jordi Cortadella Departmet of Computer Sciece Priciple: Reduce a complex problem ito a simpler istace of the same problem Recursio Itroductio to Programmig Dept. CS, UPC 2 Mathematical

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Greedy Algorithms. Interval Scheduling. Greedy Algorithms. Interval scheduling. Greedy Algorithms. Interval Scheduling

Greedy Algorithms. Interval Scheduling. Greedy Algorithms. Interval scheduling. Greedy Algorithms. Interval Scheduling Greedy Algorithms Greedy Algorithms Witer Paul Beame Hard to defie exactly but ca give geeral properties Solutio is built i small steps Decisios o how to build the solutio are made to maximize some criterio

More information

WORKED EXAMPLE 7.1. Producing a Mass Mailing. We want to automate the process of producing mass mailings. A typical letter might look as follows:

WORKED EXAMPLE 7.1. Producing a Mass Mailing. We want to automate the process of producing mass mailings. A typical letter might look as follows: Worked Example 7.1 Producig a Mass Mailig 1 WORKED EXAMPLE 7.1 Producig a Mass Mailig We wat to automate the process of producig mass mailigs. A typical letter might look as follows: To: Ms. Sally Smith

More information

Data Structures and Algorithms Part 1.4

Data Structures and Algorithms Part 1.4 1 Data Structures ad Algorithms Part 1.4 Werer Nutt 2 DSA, Part 1: Itroductio, syllabus, orgaisatio Algorithms Recursio (priciple, trace, factorial, Fiboacci) Sortig (bubble, isertio, selectio) 3 Sortig

More information

Module 8-7: Pascal s Triangle and the Binomial Theorem

Module 8-7: Pascal s Triangle and the Binomial Theorem Module 8-7: Pascal s Triagle ad the Biomial Theorem Gregory V. Bard April 5, 017 A Note about Notatio Just to recall, all of the followig mea the same thig: ( 7 7C 4 C4 7 7C4 5 4 ad they are (all proouced

More information

Lecture 1: Introduction and Strassen s Algorithm

Lecture 1: Introduction and Strassen s Algorithm 5-750: Graduate Algorithms Jauary 7, 08 Lecture : Itroductio ad Strasse s Algorithm Lecturer: Gary Miller Scribe: Robert Parker Itroductio Machie models I this class, we will primarily use the Radom Access

More information

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure

More information

Lecture 6. Lecturer: Ronitt Rubinfeld Scribes: Chen Ziv, Eliav Buchnik, Ophir Arie, Jonathan Gradstein

Lecture 6. Lecturer: Ronitt Rubinfeld Scribes: Chen Ziv, Eliav Buchnik, Ophir Arie, Jonathan Gradstein 068.670 Subliear Time Algorithms November, 0 Lecture 6 Lecturer: Roitt Rubifeld Scribes: Che Ziv, Eliav Buchik, Ophir Arie, Joatha Gradstei Lesso overview. Usig the oracle reductio framework for approximatig

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

Minimum Spanning Trees

Minimum Spanning Trees Presetatio for use with the textbook, lgorithm esig ad pplicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 0 Miimum Spaig Trees 0 Goodrich ad Tamassia Miimum Spaig Trees pplicatio: oectig a Network Suppose

More information

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem Exact Miimum Lower Boud Algorithm for Travelig Salesma Problem Mohamed Eleiche GeoTiba Systems mohamed.eleiche@gmail.com Abstract The miimum-travel-cost algorithm is a dyamic programmig algorithm to compute

More information

Location Steps and Paths

Location Steps and Paths Locatio Steps ad Paths 3 INTHIS CHAPTER Uderstadig Locatio Steps ad Paths How do locatio paths work? We took a look at locatio paths i the overview i Chapter 1, where we saw that locatio paths look much

More information

Minimum Spanning Trees. Application: Connecting a Network

Minimum Spanning Trees. Application: Connecting a Network Miimum Spaig Tree // : Presetatio for use with the textbook, lgorithm esig ad pplicatios, by M. T. oodrich ad R. Tamassia, Wiley, Miimum Spaig Trees oodrich ad Tamassia Miimum Spaig Trees pplicatio: oectig

More information

Data Structures and Algorithms. Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output

More information

MAXIMUM MATCHINGS IN COMPLETE MULTIPARTITE GRAPHS

MAXIMUM MATCHINGS IN COMPLETE MULTIPARTITE GRAPHS Fura Uiversity Electroic Joural of Udergraduate Matheatics Volue 00, 1996 6-16 MAXIMUM MATCHINGS IN COMPLETE MULTIPARTITE GRAPHS DAVID SITTON Abstract. How ay edges ca there be i a axiu atchig i a coplete

More information

Administrative UNSUPERVISED LEARNING. Unsupervised learning. Supervised learning 11/25/13. Final project. No office hours today

Administrative UNSUPERVISED LEARNING. Unsupervised learning. Supervised learning 11/25/13. Final project. No office hours today Admiistrative Fial project No office hours today UNSUPERVISED LEARNING David Kauchak CS 451 Fall 2013 Supervised learig Usupervised learig label label 1 label 3 model/ predictor label 4 label 5 Supervised

More information

Algorithm Efficiency

Algorithm Efficiency Algorithm Effiiey Exeutig ime Compariso of algorithms to determie whih oe is better approah implemet algorithms & reord exeutio time Problems with this approah there are may tasks ruig ourretly o a omputer

More information

Informed Search. Russell and Norvig Chap. 3

Informed Search. Russell and Norvig Chap. 3 Iformed Search Russell ad Norvig Chap. 3 Not all search directios are equally promisig Outlie Iformed: use problem-specific kowledge Add a sese of directio to search: work toward the goal Heuristic fuctios:

More information