cse 100: b trees (contd) -...

20
CSE 100: B TREES (CONTD)

Upload: others

Post on 26-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

CSE 100: B TREES (CONTD)

Page 2: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

CAPES and End of year survey • Have you filled out the CAPE form? A.  Yes B.  No Deadline Mon Dec 15th

Page 3: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

13

2 8 21 25 33 50

Insert 15 into this B-tree

Page 4: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

13 25

2 8 15 21 33 50

Insert 22 and 23

Page 5: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

13 25

2 8 15 21 22 23 33 50

Insert 16

Page 6: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

13 21 25

2 8 15 16 33 50

Insert 16, after

22 23

Page 7: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

13 25 60 85

2 8 15 21 33 50 61 68 75 80 90 95 99

Insert 62

True or false: after the insert, the leaves will be at different levels A.  True B.  False

Page 8: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

13 25 60 85

2 8 15 21 33 50 61 68 75 80 90 95 99

Insert 62

Which key will be promoted up? A. 61 B. 62 C.68 D. 75 E. 80

Page 9: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

13 25 60 85

2 8 15 21 33 50

61 62

90 95 99

Insert 62

Which key will be promoted up? A. 13 B. 25 C.60 D. 85 E. 68

75 80

Page 10: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

13 25

2 8 15 21 33 50

61 62

90 95 99

Insert 62 75 80

68 85 13 25 60 85

Page 11: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Insertion and properties of B-trees

B-trees grow up! (Which is why all their leaves are always at the same level)

13 25

2 8 15 21 33 50

75 80 90 95 99

68 85

60

61 62

Page 12: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Inser&on  and  proper&es  of  B-­‐trees  

B-trees grow up! (Which is why all their leaves are always at the same level)

13   25  

2   8   15   21   33   50  

75   80   90   95   99  

68   85  

60  

61   62  

Page 13: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

What  is  the  &me  to  find  an  element  in  a  B-­‐tree  of  order  M  with  N  keys?  

•  What is the maximum height of the tree in terms of M and N?

13   25  

2   8   15   21   33   50  

75   80   90   95   99  

68   85  

60  

61   62  

Page 14: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Exact  expression  for  the  worst  case  &me  to  find  an  element  in  a  B-­‐tree  of  order  M  with  N  keys?  

•  Maximum height: log M/2 N •  Given

–  Tm is the time to access an element in memory –  Td is the time to access an element on disk

13   25  

2   8   15   21   33   50  

75   80   90   95   99  

68   85  

60  

61   62  

Page 15: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

Exact  expression  for  the  worst  case  &me  to  find  an  element  in  a  B-­‐tree  of  order  M  with  N  keys?  

•  Maximum height: log M/2 N •  Given

–  Tm is the time to access an element in memory –  Td is the time to access an element on disk

•  Time to find an element: Tm log M * log M/2 N + Td log M/2 N

What is the worst case big O run time of find? A.  O(log2 M) B.  O(log2 N) C.  Neither

Page 16: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

B-­‐Tree  performance  •  Worst case O (log2N) which doesn’t reflect their true

benefit •  The time savings in a B-Tree comes from efficiently

reading lots of data from disk •  When B-Trees are stored in memory they are

typically comparable to other search trees •  When they have to access disk they are a big win

Page 17: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

(2-­‐3-­‐4)  B-­‐trees  

3   5   8  

1   2   4   6   7   14   15  

13  

10  

11   12  9  

Page 18: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

(2-­‐3-­‐4)  B-­‐trees  ==  RBTs!  

3   5   8  

1   2   4   6   7   14   15  

13  

10  

11   12  9  

Page 19: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

(2-­‐3-­‐4)  B-­‐trees  ==  RBTs!  

3   5   8  

1   2   4   6   7   14   15  

13  

10  

11   12  9  

10  

5   13  

3   8  

7  

6  

9  4  2  

1  

12  

11  

15  

14  

So which are asymptotically faster? RB-trees or 2-3-4 (B) trees? A.  RB trees B.  B-trees C.  They are the same

Page 20: CSE 100: B TREES (CONTD) - cseweb.ucsd.educseweb.ucsd.edu/classes/fa14/cse100/lectures/Lec26_annotated_pd… · B.Tree(performance(• Worst case O (log 2 N) which doesn’t reflect

B-­‐Tree  performance  •  Refer Paul Kube’s slides http://cseweb.ucsd.edu/users/kube/cls/100/Lectures/lec17/lec17.pdf