Searching a B-tree is much like searching a binary search tree, except that instead of making a binary, or "two-way" branching decision at each node, we make a multiway branching decision according to to the number of the node's children. More precisely, at each internal node x, we make an (n[x]+1)-way branching decision.
B-THREE-SEARCH is a straightforward generalization of the TREE-SEARCH procedure defined for binary search trees. B-TREE-SEARCH takes as input a pointer to the root node x of a subtree and a key k to be searched for in that subtree. The top-level call is thus of the form B-TREE-SEARCH (root[T],k). If k is in the B-tree, B-TREE-SEARCH returns the ordered pair (y,i) consisting of a node y and an index i such that key[y] = k. Otherwise, the value NIL is returned.