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

From Wiki**3

Line 1: Line 1:
 
As árvores não estão relacionadas. <code>[[Inserção na Raiz de uma BST|insertT]]</code> é o algoritmo para inserção de elementos na raiz de uma BST.
 
As árvores não estão relacionadas. <code>[[Inserção na Raiz de uma BST|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;
 
   }
 
   }

Revision as of 08:44, 19 May 2005

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