0% found this document useful (0 votes)
13 views12 pages

hw2 Sols

This JSON contains the solutions to a homework assignment on database systems topics. There are 4 questions covering Cuckoo hashing, B+ trees, extendible hashing, and suffix trees. For each question, the student has provided the answers in a multiple choice format by selecting the correct options.

Uploaded by

m
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views12 pages

hw2 Sols

This JSON contains the solutions to a homework assignment on database systems topics. There are 4 questions covering Cuckoo hashing, B+ trees, extendible hashing, and suffix trees. For each question, the student has provided the answers in a multiple choice format by selecting the correct options.

Uploaded by

m
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

C ARNEGIE M ELLON U NIVERSITY

C OMPUTER S CIENCE D EPARTMENT


15-445/645 – DATABASE S YSTEMS (FALL 2020)
P ROF. A NDY PAVLO

Homework #2 (by Ian Romines) – Solutions


Due: Sunday October 4, 2020 @ 11:59pm

IMPORTANT:
• Upload this PDF with your answers to Gradescope by 11:59pm on Sunday October 4,
2020.
• Plagiarism: Homework may be discussed with other students, but all homework is to be
completed individually.
• You have to use this PDF for all of your answers.
For your information:
• Graded out of 100 points; 4 questions total
• Rough time estimate: ≈1-4 hours (0.5-1 hours for each question)
Revision : 2020/09/28 21:04

Question Points Score


Cuckoo Hashing 20
B+Tree 45
Extendible Hashing 25
Suffix Trees 10
Total: 100

1
15-445/645 (Fall 2020) Homework #2 Page 2 of 12

Question 1: Cuckoo Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [20 points]


Graded by:
Consider the following cuckoo hashing schema:

1. Both tables have a size of 4.


2. The hashing function of the first table returns the lowest two bits: h1 (x) = x & 0b11.
3. The hashing function of the second table returns the next two bits: h2 (x) = (x >> 2) & 0b11
4. When replacement is necessary, first select an element in the second table.
5. The original content is shown in Figure 1.

Figure 1: Initial contents of the hash tables.

(a) [4 points] Insert keys 5 and 10. Select the resulting two tables.

2 A) 2 B)

Question 1 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 3 of 12

 C) 2 D)

(b) [4 points] Then delete 14, and insert 8. Select the resulting two tables.

2 A) 2 C)

2 D)
 B)

Question 1 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 4 of 12

(c) [6 points] Finally, insert 24. Select the resulting two tables.

2 A) 2 C)

2 D)
 B)

(d) [6 points] What is the smallest key that potentially causes an infinite loop given the
tables in (c)
2 0 2 2 2 3  6 2 7 2 9 2 None of the above

Homework #2 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 5 of 12

Question 2: B+Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [45 points]


Graded by:
Consider the following B+tree.

Figure 2: B+ Tree of order d = 4 and height h = 2.

When answering the following questions, be sure to follow the procedures described in class
and in your textbook. You can make the following assumptions:
• A left pointer in an internal node guides towards keys < than its corresponding key, while
a right pointer guides towards keys ≥.
• A leaf node underflows when the number of keys goes below d d−1 2
e.
• An internal node underflows when the number of pointers goes below d d2 e.

Question 2 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 6 of 12

(a) [15 points] Insert 14∗ into the B+tree. Select the resulting tree.

2 A)

2 B)

 C)

Question 2 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 7 of 12

2 D)

(b) [5 points] How many pointers (parent-to-child and sibling-to-sibling) do you chase to
find all keys between 5 and 15?
2 2 2 3  4 2 5 2 6 2 7
(c) [15 points] Then delete 23∗ . Select the resulting tree.

2 A)

2 B)

2 C)

Question 2 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 8 of 12

 D)
(d) [10 points] Finally insert 4∗ and delete 3∗ . Select the resulting tree.

 A)

2 B)

2 C)

2 D)

Homework #2 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 9 of 12

Question 3: Extendible Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [25 points]


Graded by:
Consider an extendible hashing structure such that:
• Each bucket can hold up to two records.
• The hashing function uses the lowest g bits, where g is the global depth.
(a) Starting from an empty table, insert keys 15, 2, 31, 11.
i. [3 points] What is the global depth of the resulting table?
2 0 2 1 2 2  3 2 4 2 None of the above
ii. [3 points] What is the local depth the bucket containing 2?
2 0  1 2 2 2 3 2 4 2 None of the above
iii. [3 points] What is the local depth of the bucket containing 31?
2 0 2 1 2 2  3 2 4 2 None of the above
(b) Starting from the result in (a), you insert keys 6, 9, 23, 12, 11.
i. [4 points] Which key will first cause a split (without doubling the size of the table)?
2 6 2 9 2 23  12 2 11 2 None of the above
ii. [4 points] Which key will first make the table double in size?
2 6 2 9  23 2 12 2 11 2 None of the above
(c) Now consider the table below, along with the following deletion rules:
1. If two buckets have the same local depth d, and share the first d − 1 bits of their
indexes (e.g. 010 and 110 share the first 2 bits), then they can be merged if the total
capacity fits in a single bucket. The resulting local depth is d − 1.
2. If the global depth g becomes strictly greater than all local depths, then the table can
be halved in size. The resulting global depth is g − 1.

Figure 3: Extendible Hash Table along with the indexes of each bucket

Question 3 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 10 of 12

Starting from the table above, delete keys 3, 8, 1, 2, 17.


i. [4 points] Which deletion first causes a reduction in a local depth.
2 3 2 8  1 2 2 2 17 2 None of the above
ii. [4 points] Which deletion first causes a reduction in global depth.
2 3 2 8  1 2 2 2 17 2 None of the above

Homework #2 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 11 of 12

Question 4: Suffix Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [10 points]


Graded by:
Consider the following suffix tree for unsigned 32-bit integers.

Figure 4: Suffix Tree

(a) [3 points] Which of the following elements belong to the suffix tree. Select all that ap-
ply.
2 0xCABEACCA 2 0xCA1337BF 2 0x77BDBECA 2 0xBAABCABE 2 0xCABEBC04
 None of the above
(b) [7 points] Insert the key 0xCABEBADE. Select the resulting tree.

 A) 2 B)

Question 4 continues. . .
15-445/645 (Fall 2020) Homework #2 Page 12 of 12

2 C) 2 D)

End of Homework #2

You might also like