15,413 views
45 votes
45 votes

B$^{+}$-trees are preferred to binary trees in databases because

  1. Disk capacities are greater than memory capacities
  2. Disk access is much slower than memory access
  3. Disk data transfer rates are much less than memory data transfer rates
  4. Disks are more reliable than memory

4 Answers

Best answer
51 votes
51 votes

Answer is (B). The major advantage of $B+$ tree is in reducing the number of last level access which would be from disk in case of large data size. 

http://stackoverflow.com/questions/15485220/advantage-of-b-trees-over-bsts

edited by
38 votes
38 votes

B+ Trees don't have data associated with interior nodes. More keys can fit on a page of a memory. Therefore, it will require fewer cache misses in order to access data that is on a leaf node.

Data in B+ Tree is stored in a way to make optimum use of locality of reference. And We know that Disk access time (ms) is much higher than memory Access time (ns), So, it takes more time to access a page from Disk, so We want to retrieve as much as data in one go. So, we use B+ Tree instead of BST.

8 votes
8 votes

Binary trees can be skewed. B+ trees are balanced. In binary trees, in the worst case you get $O(n)$ search complexity, while the same for B+ trees is $O(logn)$

Each visit to a node in the tree is actually visiting a block in the Secondary Memory. Since Secondary Memory is slower, B+ trees would benefit us over Binary trees because of the reduction in our visits to the Secondary Memory.

Option B

–6 votes
–6 votes
d)

any other reasonable option is (a), but i chose reliability
Answer:

Related questions

22 votes
22 votes
6 answers
3