Un árbol 1-2-3 es un árbol n-ario de orden tres, donde cada Nodo tiene uno o dos elementos.


Cada nodo tiene 1, 2 o 3 subárboles asociados.

Características:

– No hay elementos repetidos.
– El elemento de la izquierda de cada nodo (raíz izquierda) es menor que el elemento de su derecha (raíz derecha).

– El primer subárbol es un Árbol 1-2-3 que contiene los elementos menores que la raíz izquierda.

– El segundo subárbol es un Árbol 1-2-3 que contiene los elementos mayores que la raíz izquierda pero menores que la raíz derecha.

– El tercer subárbol es un Árbol 1-2-3 que contiene los elementos mayores que la raíz derecha.

– Si la raíz derecha está vacía, su tercer subárbol debe ser vacío (El segundo puede o no ser vacío).

Implementación de Arbol1-2-3 en SEED

Descripción Estructura que abre paso al concepto de arboles que poseen más de dos hijos, es decir Arboles enearios. Árbol 1-2-3, basa su funcionamiento en la estructura fundamental denominada nodo1-2-3 implementado en la clase Nodo1-2-3 que posee dos informaciones una menor, una mayor y tres apuntadores uno a la izquierda, uno al medio y uno a la derecha, esto con el fin de almacenar los datos de manera ordenada.

El Árbol 1-2-3 esta implementado en la clase Arbol123 que se origina con la creación de un Nodo123 denominado “raíz”, que es la referencia para la realización de los diferentes procesos para el funcionamiento de la estructura. Los procesos básicos de la estructura son: insertar, eliminar y buscar los datos en la estructura. A continuación se presenta el diagrama de clases para el Árbol123 implementado, con cada una de sus operaciones:

Requerimientos funcionales implementados para Arboles 1-2-3:
RF1 – Crear un nuevo Árbol 1-2-3.
RF2 – Conocer y editar la raíz del Árbol 1-2-3.
RF3 – Insertar nuevos datos en un Árbol 1-2-3, sin que este pierda sus propiedades.
RF4 – Eliminar datos de un Árbol 1-2-3, sin que este pierda sus propiedades.
RF5 – Consultar la existencia de objetos dentro del Árbol 1-2-3.
RF6 – Consultar el listado de hojas de un Árbol 1-2-3.
RF7 – Conocer el número de hojas del Árbol 1-2-3.
RF8 – Recorrer un Árbol 1-2-3 en Preorden.
RF9 – Recorrer un Árbol 1-2-3 en Inorden.
RF10 – Recorrer un Árbol 1-2-3 en PostOrden.
RF11 – Recorrer un Árbol 1-2-3 por niveles.
RF12 – Conocer el peso de un Árbol 1-2-3.
RF13 – Consultar la altura de un Árbol 1-2-3.
RF14 – Conocer por consola los datos presentes en el Árbol 1-2-3.

Implementación de un Simulador para Arbol1-2-3:
El Simulador para Arbol1-2-3 posee las operaciones indicadas por su menú de opciones dentro del mismo: