Junção de duas BSTs arbitrárias: Difference between revisions
From Wiki**3
No edit summary |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
As árvores não estão relacionadas. <code>[[Inserção na Raiz | 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; }