2. Unidad 4
estructuras no lineales
ARBOLES
Un árbol es una estructura de datos homogénea, dinámica y no lineal, en la
que cada nodo (elemento)
puede tener varios nodos posteriores, pero solo puede tener un nodo anterior
Un árbol es dinámico porque su estructura puede cambiar durante la
ejecución de un programa. Y no lineal, ya que cada nodo del árbol
puede contener varios nodos que dependan de él.
3. Clasificacion de árboles
Los árboles se clasifican de la siguiente manera:
- Árboles binarios.
o Distintos
o Similares
o Equivalentes
o Equilibrado
o completo
- Árboles Multicaminos.
o B
o B+
o B*
o R
o 2-4
4. Operaciones Básicas sobre árboles binarios.
1-Creación de un árbol
public class nodob
{
object elemento;
nodob padre, izquierdo, derecho;
//métodos
}
2-inserción de un nodo árbol
permite agregar un nuevo nodo hoja al árbol, pero antes de agregarlo, debemos
tomar en cuenta como se hace el acomodo u organización de los nodos dentro de
la estructura del árbol. el primer nodo que entra en el árbol se le conoce como
nodo raíz, del cual se desprendes los nodos intermedio y hojas.
5. 3-Eliminación de un nodo.
la operación de eliminación de un nodo consiste en borrar el nodo del árbol binario de una forma definitiva, para este
proceso la relación del nodo que se quiere eliminar con otros nodos debe desaparecer, pero que sucede con los nodos
que dependen del nodo que se quiere eliminar. para esto analizaremos los tres casos de eliminación en un árbol
binario:
4- recorrido del árbol.
Recorrer significa visitar cada uno de los nodos de un árbol exactamente una sola vez, este proceso puede
interpretarse como poner todos los nodos en una línea o linealizar el árbol.
existen tres formas de efectuar el recorrido y todas son de manera recursiva:
a) recorrido en preorden
· visitar la raíz
· recorrer el subárbol izquierdo
· recorrer el subárbol derecho
b) recorrido en inorden
· recorrer el subárbol izquierdo
· visitar la raíz
· recorrer el subárbol derecho
c) recorrido en postorden
· recorrer el subárbol izquierdo
· recorrer el subárbol derecho
· visitar la raíz
Recorrido Preorden:
34,10,25,56,46,82
Recorrido Inorden:
10,25,34,46,56,82
Recorrido Postorden:
25,10,46,82,56,34
6. 5- balanceo del árbol
Un árbol binario se encuentra balanceado si la diferencia en la altura de los dos
subárboles de cualquier nodo en el árbol es cero o uno
El árbol izquierdo se encuentra balanceado ya que la diferencia en la altura entre
sus dos
subárboles (izquierdo y derecho) es 1. En cambo el árbol de la derecha no se
encuentra balanceado ya que la diferencia en la altura entre sus dos subárboles es
2.
APLICACIONES
Un árbol es una estructura de datos útil cunado se trata de hacer modelos de procesos en donde
se requiere tomar decisiones en uno de dos sentidos en cada parte del proceso. Por ejemplo,
supongamos que tenemos un arreglo en donde queremos encontrar todos los duplicados. Esta
situación es bastante útil en el manejo de las bases de datos, para evitar un problema que se llama
redundancia
• Si el elemento del arreglo es igual que la información del nodo raíz, entonces notificar duplicidad
• Si el elemento del arreglo es menor que la información del nodo raíz entonces se crea un hijo
izquierdo
• Si el elemento del arreglo es mayor que la información del nodo raíz, entonces se crea un hijo
derecho
7. Conclusión
un árbol binario se define como un conjunto finito de elementos llamados nodos.
los nodos de un árbol; y que un árbol puede ser implementado fácilmente en una
computadora. es bueno hacer énfasis en
esto ya que entre las cosas que podemos mencionar se encuentra la raíz, los
nodos de un árbol y la diferencia entre nodos sucesores y nodos terminales, como
se muestran en el contenido del trabajo.