Partição pela k-ésima Menor Chave (BST)

From Wiki**3

Revision as of 08:57, 19 May 2005 by Root (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A função coloca a k-ésima menor chave da BST na raiz. O índice da menor chave é 0 (zero).

 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;
 }