the subtree requires no changes of the tree structure node has obtained sibling the subtree has increased in height procedure search (var pnodexintegervar hinteger)var qrnode(adens _bbtrees *begin (* = *if nil then (*insert new node*new( ) key :xp :nilp :nilp lh :falsep rh :falseh : elsif key then search( lxh)if then (*left branch has grown or received sibling* : lif lh then : lh :falseif lh then (*ll* : rq lh :falseq :pp : else (* rhlr* : rq : lq rh :falser : lp : rr :pp : end else dec( )if then lh :true end end end elsif key then search( rxh)if then (*right branch has grown or received sibling* : rif rh then : rh :falseif rh then (*rr* : lq rh :falseq :pp : else (* lhrl* : lq : rq lh :falser : rp : lr :pp : end else dec( )if then rh :true end end end end end searchnote that the actions to be taken for node rearrangement very strongly resemble those developed in the avl-balanced tree search algorithm it is evident that all four cases can be implemented by simple pointer rotationssingle rotations in the ll and rr casesdouble rotations in the lr and rl cases in factprocedure search appears here slightly simpler than in the avl case clearlythe sbb-tree scheme