Junção de duas BSTs arbitrárias: Difference between revisions

From Wiki**3

No edit summary
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
As árvores não estão relacionadas. <code>[[Inserção na Raiz de uma BSTs|insertT]]</code> é o algoritmo para inserção de elementos na raiz de uma BST.
As árvores não estão relacionadas. <code>[[Inserção numa BST#Inserção na Raiz|insertT]]</code> é o algoritmo para inserção de elementos na raiz de uma BST.


   link STjoin(link a, link b) {
   link '''STjoin'''(link a, link b) {
     if (a == z) return b;
     if (a == z) return b;
     if (b == z) return a;
     if (b == z) return a;
     b = insertT(b, a->item);
     b = '''insertT'''(b, a->item);
     b->l = STjoin(a->l, b->l);
     b->l = '''STjoin'''(a->l, b->l);
     b->r = STjoin(a->r, b->r);
     b->r = '''STjoin'''(a->r, b->r);
     free(a);
     free(a);
     return b;
     return b;
   }
   }

Latest revision as of 08:38, 12 November 2008

As árvores não estão relacionadas. insertT é o algoritmo para inserção de elementos na raiz de uma BST.

 link STjoin(link a, link b) {
   if (a == z) return b;
   if (b == z) return a;
   b = insertT(b, a->item);
   b->l = STjoin(a->l, b->l);
   b->r = STjoin(a->r, b->r);
   free(a);
   return b;
 }