Yo hace unos días he implementado un árbol binario en Vbasic que me parece bastante potente. 
Doy por entendido que sabes manejar bien la programación porque de lo contrario es probable que te hagas un pequeño lio pero prueba lo siguiente:
'Estructura Para las claves
Type reg
   loReg as long
   HiReg as long
   Key as string
end type
'Estructura para los nodos
Type Nodos
   IdKey as string
   items as long
   regs() as reg
end type
public Nod() as Nodos
Public idPtr as integer
'Añadir un nuevo árbol de claves (aqui supongo que idPtr está iniciado a '0')
Public Sub AddNode(NombreArbol as string)
     IdPtr=IdPtr + 1
     redim preserve Nod(1 to IdPtr)
     nod(idptr)=NombreArbol
     nod(idPtr).items=0
end sub
'Para añadir una clave en un árbol
Public AddKey(Arbol as string, NewKey as string, Valor as string)
    'Aqui pondremos una función que busque si la clave existe
    if existKey(Arbol,NewKey,Valor) then 
        'Código para actualizar el valor de la key
    else
        Nod(idArbol(Arbol)).items=Nod(idArbol(Arbol)).items+1
        redim preserve Nod(IdArbol(Arbol)).regs(1 to Nod(idArbol(Arbol)).items)
        Nod(IdArbol(Arbol)).regs(Nod(idArbol(Arbol)).items).key=newkey
        Nod(IdArbol(Arbol)).regs(Nod(idArbol(Arbol)).items).loreg=<nodo contiene clave menor>
        Nod(IdArbol(Arbol)).regs(Nod(idArbol(Arbol)).items).hireg=<nodo contiene clave mayor>
    end if 
end sub 
Este código te muestra la capacidad de Vbasic de disponer dde algo parecido a la memoria dinámica redimensionando Arrays de tipos con la directiva PRESERVE que mantiene el contenido de la matriz.
Naturalmente tendrás que desarrollar las funciones de búsqueda, eliminación, recorrido etc...y si lo metes todo dentro de una clase tendrás un sistema de árbol balanceado que puedes usar para guardar claves de búsqueda en un fichero etc... ya que grabando en un fichero binario la estructura NOD(), lo podrás leer tantas veces como desees.
Te aconsejo te hagas con el siguiente libro :
PROGRAMACION EN C++ de Luis Joyanes Aguilar (Editorial McGrawHill) es un poco caro pero las estructuras de datos las explica realmente bien (y esa algorítmia la puedes aplicar a cualquier lenguaje que conozcas lo suficientemente bien)
Espero que este rollo te sea útil
Un saludo