Question Details

A node size is 4096B. Node pointer size is 10B. Search key is 11B. Record pointer is 12B. What is the Max node pointers that can be stored in a non-leaf node of a B+ tree?

Show Answer

Correct Answer :

195

Solution :

The correct answer is 195.

In a B+ tree, non-leaf nodes (also known as internal nodes) are used for routing searches. They contain only search keys and node pointers (which point to child nodes). Unlike leaf nodes, non-leaf nodes do not store record pointers or actual data. Therefore, the record pointer size of 12 B is not used in this calculation.

Let us define the variables as follows:
- Let d be the maximum number of node pointers (also called child pointers).
- A node with d pointers will contain d-1 search keys.
- Node size = 4096 B
- Node pointer size = 10 B
- Search key size = 11 B

The total space occupied by the node pointers and search keys must be less than or equal to the total node size. This gives us the following inequality:

( d �� Node Pointer Size ) + ( ( d - 1 ) × Search Key Size ) Node Size

Substituting the given values into the inequality, we get:

( d × 10 ) + ( ( d - 1 ) × 11 ) 4096

Now, we simplify the expression step-by-step:

10 d + 11 d - 11 4096

21 d - 11 4096

Add 11 to both sides of the inequality:

21 d 4107

Divide by 21 to solve for d:

d 4107 21

d 195.57

Since the number of node pointers must be an integer, we take the floor of the value (round down to the nearest whole number):

d = 195

Therefore, the maximum number of node pointers that can be stored in a non-leaf node is 195.

Unlock Our Free Library

Access expert-curated educational resources and study materials—completely free.

Ask AI Tutor
5 left
Q1 View Question & Options
AI Tutor is solving this question...
Reading question context & options...