Estructuras de Datos y Algoritmos TDA Arbol Binario de Búsqueda Difinición Recursiva • Arbol binario de búsqueda – Sea n un nodo de un arbol binario de búsqueda – La clave de n es mayor que todas las etiquetas en su subarbol izquierdo TI – La clave de n es menor que todas las etiquetas en su subarbol derecho TD – TI y TD son árboles binarios de búsqueda TDA ABB • TDA Arbol binario de búsqueda – – – – – Crear arbol vacío Insertar item con clave dada Remover item con determinada clave Inspeccionar item con determinada clave Recorrer arbol en preorden, enorden o posorden. Algoritmos para las operaciones del TDA ABB Método auxiliar search search(bst, clave) if(bst vacío) // la clave no está else if(clave == bst.key()) // encontró el récord else if(clave < bst.key()) searck(subarbol izquierdo, clave) else search(suarbol derecho, clave) insertar Seach(root, Frank) Se detiene aquí Bob Frank Alan Ellen Frank Remover • Buscar clave • Si clave está en una hoja, se remueve. • Problema: no se puede remover un nodo interno así como así. • Dos casos: – Nodo tiene un solo hijo – Nodo tiene dos hijos Remover nodo con un hijo Remover N P N L P L Remover con dos hijos P N L R