Difference between revisions of "Partição pela k-ésima Menor Chave (BST)"

From Wiki**3

 
(No difference)

Latest revision as of 10:36, 12 November 2008

A função coloca a k-ésima menor chave da BST na raiz. O índice da menor chave é 0 (zero). rotL e rotR correspondem às operações de rotação à esquerda e à direita sobre árvores binárias.

 link partR(link h, int k) {
   int t = h->l->N; 
   if (t > k) {
     h->l = partR(h->l, k);
     h    = rotR(h);
   }
   if (t < k) {
     h->r = partR(h->r, k-t-1);
     h    = rotL(h);
   }
   return h;
 }