Download Práctica 8. Árboles binarios de búsqueda. Operaciones básicas.

Document related concepts

Recorrido de árboles wikipedia , lookup

Árbol binario de búsqueda wikipedia , lookup

Árbol biselado wikipedia , lookup

Árbol binario indexado wikipedia , lookup

Treap wikipedia , lookup

Transcript
Práctica 8.Árboles binarios de búsqueda. Operaciones básicas.
Estructuras de Datos
Práctica 8. Árboles binarios de búsqueda.
Operaciones básicas.
Objetivos
• Practicar con la implementación de árboles binarios de búsqueda.
• Practicar el uso de árboles.
Desarrollo
Implementación de las operaciones de inserción y búsqueda
Se propone implementar un árbol binario de búsqueda utilizando la implementación vista en
teoría basada en punteros al padre, hijo derecho e hijo izquierdo.
El árbol se implementará como una clase Java genérica:
class ArbolBinarioBusqueda<E ...>
(Los puntos suspensivos significan que el alumno deberá decidir que tipo de condiciones
debemos imponer a la clase E).
Árbol deberá tener las siguientes operaciones:
• Constructor: construye un árbol vacío.
• void inserta(E e): inserta el elemento en la posición que le corresponde dentro del
árbol.
• boolean contiene(E e): retorna true si el elemento está en el árbol y false en
caso contrario.
• String toString(): retorna un string con todos los elementos del árbol (ordenados en
preorden).
• void clear(): vacía el árbol.
Indicar la eficiencia temporal promedio y de peor caso de cada una de las operaciones
implementadas.
Programa de prueba
Escribir un programa que permita verificar el correcto funcionamiento del árbol.
El programa deberá crear un árbol y aplicar sobre él los métodos desarrollados comprobando a
cada paso que el estado de la tabla es el esperado de acuerdo a la especificación de los métodos.
Criterios de Evaluación y Aclaraciones
La práctica se considerará realizada si se implementan correctamente los métodos indicados y
se realiza un programa que pruebe todos los métodos desarrollados en un amplio abanico de
situaciones posibles.
También es necesario responder a la cuestión referente a la eficiencia de los métodos
desarrollados.
La práctica se entregará a través de la plataforma moodle siguiendo las instrucciones en ella
proporcionadas.
Curso 11-12
Universidad de Cantabria
1/2
Práctica 8.Árboles binarios de búsqueda. Operaciones básicas.
Estructuras de Datos
Parte opcional
Añadir a la clase ArbolBinarioBusqueda la siguiente operación:
• boolean elimina(E e): elimina del árbol el elemento indicado. Retorna true si el
elemento estaba en el árbol y false en caso contrario.
Curso 11-12
Universidad de Cantabria
2/2