CSE 100: B TREES (CONTD) -...
Transcript of CSE 100: B TREES (CONTD) -...
![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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/17.jpg)
(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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/18.jpg)
(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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/19.jpg)
(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](https://reader035.fdocuments.net/reader035/viewer/2022071501/6120e8e922edb56de937add4/html5/thumbnails/20.jpg)
B-‐Tree performance • Refer Paul Kube’s slides http://cseweb.ucsd.edu/users/kube/cls/100/Lectures/lec17/lec17.pdf