• Matt Marston (9/30/2009)


    A B-tree could only be confused with a binary tree if it is binary with each node having at most 2 children. Wikipedia states this clearly, "a binary tree is a tree data structure in which each node has at most two children." The SQL Server documentation that references B-tree doesn't clearly state how many children a node can have, but I can tell you it is more than 2.

    The Wikipedia reference to a B-tree as a generalized form of a binary tree is accurate. But it doesn't mean that a B-tree is a binary tree any more than saying a polygon is a generalized form of a rectangle means that a polygon is a rectangle.

    I actually agree with your analogy but I still believe this question should be thrown out. Technically, the B doesn't have an official meaning and there's lots of debate about that. So it's a bad question.

    I work for a training organization and have become an expert in question writing and I can tell you that if I asked a question like this on any of my quizzes, the students would have good reason to question the accuracy of my answer.

    Microsoft is not the authority on what the "B" means. I'd say it's Rudolf Bayer and Ed McCreight who have the authority since they invented the B-tree while working at Boeing. For all we know, the B could mean Bayer or Boeing regardless of what Microsoft thinks it means.