Estructura no lineal y dinámica de datos. Dinámica: puede cambiar durante la ejecución de un programa. No lineal: a cada elemento del árbol pueden seguirle varios elementos. Están formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos.
Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol.
Nodo padre: nodo que contiene un puntero al nodo actual.
Posición dentro del árbol:
Nodo raíz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al árbol.
Nodo hoja: nodo que no tiene hijos.
Nodo rama: aunque esta definición apenas la usaremos, estos son los nodos que no pertenecen a ninguna de las dos categorías anteriores.
Operaciones:
- Añadir o insertar elementos.
- Buscar o localizar elementos.
- Borrar elementos.
- Moverse a través del árbol.
- Recorrer el árbol completo.
En el primer caso, se listan los nodos expandiendo el hijo actual de cada nodo hasta llegar a una hoja, donde se vuelve al nodo anterior probando por el siguiente hijo y así sucesivamente.
En el segundo, por su parte, antes de listar los nodos de nivel n + 1 (a distancia n + 1 aristas de la raíz), se deben haber listado todos los de nivel n. Otros recorridos típicos del árbol son preorden, postorden e inorden:
Recorrido en preorden, también llamado orden previo consiste en recorrer en primer lugar la raíz y luego cada uno de los hijos en orden previo.
Recorrido en inorden, también llamado orden simétrico (aunque este nombre sólo cobra significado en los árboles binarios) consiste en recorrer en primer lugar A1, luego la raíz y luego cada uno de los hijos en orden simétrico.
Recorrido en postorden, también llamado orden posterior consiste en recorrer en primer lugar cada uno de los hijos en orden posterior y por último la raíz.
Tipos de árboles
- Árboles Binarios
- Árbol de búsqueda binario auto-balanceable
- Árboles AVL
- Árboles Rojo-Negro
- Árbol AA
- Árboles Multicamino
- Árboles B (Arboles de búsqueda multicamino autobalanceados)
- Árbol-B+
- Árbol-B*
Aplicaciones
- Representación de datos jerárquicos.
- Ayuda para realizar búsquedas en conjuntos de datos
http://es.wikipedia.org/wiki/%C3%81rbol_(inform%C3%A1tica)
http://c.conclase.net/edd/?cap=006b#6_3
CLASE TREE
Los métodos, propiedades y eventos de la clase Tree permiten administrar y manipular objetos Tree.
Método | Descripción |
---|---|
Tree.addTreeNode() | Añade un nodo a una instancia de Tree. |
Tree.addTreeNodeAt() | Añade un nodo en una ubicación específica de una instancia de Tree. |
Tree.getDisplayIndex() | Devuelve el índice de visualización de un nodo determinado. |
Tree.getIsBranch() | Especifica si la carpeta es una rama (cuenta con un icono de carpeta y una flecha de ampliación). |
Tree.getIsOpen() | Indica si un nodo está abierto o cerrado. |
Tree.getNodeDisplayedAt() | Asigna un índice de visualización del árbol al nodo que se muestra en esa posición. |
Tree.getTreeNodeAt() | Devuelve un nodo en la raíz del árbol. |
Tree.refresh() | Actualiza el árbol. |
Tree.removeAll() | Elimina todos los nodos de la instancia de Tree y actualiza el árbol. |
Tree.removeTreeNodeAt() | Elimina un nodo en una posición específica y actualiza el árbol. |
Tree.setIcon() | Especifica un icono para el nodo especificado. |
Tree.setIsBranch() | Especifica si un nodo es una rama (cuenta con un icono de carpeta y una flecha de ampliación). |
Tree.setIsOpen() | Abre o cierra un nodo. |
¿Cómo usar Tree?
Con la clase JTree, se puede mostrar un árbol de datos. JTree realmente no contiene datos, simplemente es un vista de ellos. Aquí tienes una imagen de un árbol
Como muestra la figura anterior, JTree muestra los datos verticalmente. Cada fila contiene exactamente un ítem de datos (llamado un nodo). Cada árbol tiene un nodo raíz (llamado Root en la figura anterior, del que descienden todos los nodos. Los nodos que no pueden tener hijos se llaman nodos leaf (hoja). En la figura anterior, el aspecto-y-comportamiento marca los nodos hojas con un círculo.Los nodos que no sean hojas pueden tener cualquier número de hijos, o incluso no tenerlos. En la figura anterior, el aspecto-y-comportamiento marca los nodos que no son hojas con un carpeta. Normalmente el usuario puede expandir y contraer los nodos que no son hojas -- haciendo que sus hijos sena visibles o invisibles -- pulsando sobre él. Por defecto, los nodos que no son hojas empiezan contraidos.
Muchas Gracias por la informacion.Saludos :)
ResponderEliminar