Está en la página 1de 14

ESTRUCTURAS NO LINEALES

CARACAS, 12 DE JULIO DE 2022


CHRISTIAN QUIÑONES
28 2 A1
¿POR QUÉ SE LES LLAMA ESTRUCTURAS DE DATOS
NO LINEALES?
Las estructuras de datos no lineales se les llama también estructuras de datos
multienlazadas. Ya que a diferencia de una estructura lineal, en la cual cada
elemento sólo puede ir enlazado al siguiente o al anterior. Las estructuras no
lineales pueden estar enlazadas a cualquier otro componente. Se trata de
estructuras de datos en las que cada elemento puede tener varios sucesores
y/o varios predecesores, llamadas árboles y grafos.
¿QUÉ ES UN GRAFO Y CUALES SON SUS
CARACTERÍSTICAS?
Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados
aristas o arcos, que permiten representar relaciones binarias entre elementos
de un conjunto. Desde un punto de vista práctico, los grafos permiten estudiar
las interrelaciones entre unidades que interactúan unas con otras. Por ejemplo,
una red de computadoras puede representarse y estudiarse mediante un grafo,
en el cual los vértices representan terminales y las aristas representan
conexiones.
¿QUÉ ES UN ÁRBOL Y CUALES SON SUS
CARACTERÍSTICAS?
Un árbol es una estructura de datos jerárquica, homogénea, dinámica y no lineal, en la
que cada nodo (elemento) puede tener varios nodos posteriores, pero sólo 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. La estructura de un árbol se forma de
nodos y arcos (línea que une dos nodos), el primero de los nodos del árbol recibe el
nombre de raíz, del cual se desprenden los nodos interiores y de éstos los nodos
llamados hoja, que son los nodos que se encuentran al final del árbol; todos ellos en
conjunto forman un árbol.
¿QUÉ TIPOS DE ARBOLES HAY?
Los árboles se clasifican de la siguiente manera:
Árboles binarios. Los cuales son una estructura de datos homogénea, dinámica y
no lineal en donde a cada nodo le pueden seguir como máximo dos nodos hijos
(que pueden estar vacíos), y cada hijo se designa ya sea como hijo izquierdo o
como hijo derecho.
Árboles Multicaminos. Los cuales son una estructura de datos homogénea,
dinámica y no lineal, en donde a cada nodo le pueden seguir una cantidad n
de nodos hijos, y cada hijo se designa por el número de hijo que le
corresponde.
¿CÓMO PODEMOS CLASIFICAR UN ÁRBOL
BINARIO?
• Árboles similares: árboles con la misma estructura.
• Árboles equivalentes: árboles con la misma estructura y contienen la misma
información.
• Árboles completos o árboles perfectos: todos los nodos, excepto las hojas, tienen
grado 2.
• Árbol equilibrado: un árbol en el que las alturas de los dos subárboles de cada uno
de los nodos tiene como máximo una diferencia de una unidad.
• Árbol degenerado: todos sus nodos sólo tienen un subárbol.
TIPOS DE ARBOLES BINARIOS
¿QUÉ OPERACIONES PODEMOS REALIZAR CON
ARBOLES BINARIOS?
• Creación de un árbol.
• Inserción de un nodo nuevo.
• Eliminación de un nodo.
• Recorrido del árbol.
• Balanceo del árbol.
CREACIÓN DE UN ARBOL

Un árbol se forma de una serie de nodos y un nodo se integra de una serie de


campos, para este caso, el nodo de un árbol binario debe estar integrado por
los siguientes campos: Padre, Dato, Izquierda y Derecha.
Donde los campos padre, izquierdo y derecho son los que permiten la relación
con otros nodos dentro del árbol y el campo de dato es donde se almacena la
información.
INSERCIÓN DE UN NUEVO NODO
La operación de inserción 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. El segundo elemento que entra en el árbol, después del
nodo raíz, tiene dos opciones para su inserción dentro de la estructura, el lado izquierdo o el lado
derecho del árbol, para determinar por cuál lado debe entrar el segundo nodo tenemos que
determinar el valor del campo dato del nuevo nodo, si el dato es menor que el nodo actual, el nuevo
nodo se inserta por el lado izquierdo, o si el dato es mayor que el nodo actual, el nuevo nodo se
inserta por el lado derecho. De esta forma la estructura del árbol organiza los nodos para un
rápido acceso y búsqueda de un elemento. Algo más que debe contemplar después elegir el camino
por donde se insertara el nuevo nodo, es, si existe un espacio libre para la inserción del nuevo nodo,
es decir, si el nodo actual no contiene hojas, el nuevo nodo se puede insertar, en caso contrario debe
continuar la búsqueda de un lugar disponible dentro del árbol.
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. Existen tres casos de eliminación de un
nodo:
• La eliminación de una hoja, es simple, solo es necesario encontrar el padre y establecer en nulo la relación
con el nodo hoja.
• La eliminación de un padre con un hijo, también es simple, solo se requiere conocer quién es el nodo anterior
al padre y establecer una relación con el nodo hijo y que el nodo hijo establezca la relación con el que será
su nuevo padre.
• La eliminación de un padre con dos hijos, no es tan simple como las anteriores ya que en este caso la
eliminación del padre genera dos nodos hijos que posiblemente no se puedan relacionar con el nodo anterior
al padre, ya que se puede romper la integridad del árbol binario y agregar tres hojas a un padre. Para
solucionar este problema se encuentran dos posibles soluciones:
- La eliminación por fusión, genera un árbol nuevo de los dos subárboles que quedaron sin padre y el padre del
nuevo árbol lo incorpora en el lugar donde está el nodo que se quiere eliminar.
- La eliminación por copiado, se encarga de borrar el elemento del nodo que se quiere eliminar, cambiándolo
por el elemento del nodo sucesor inmediato.
RECORRIDO DE UN ARBOL

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:
1. Recorrido en preorden
- Visitar la raíz (imprime el valor de ese nodo)
- Recorrer el subárbol izquierdo
- Recorrer el subárbol derecho
RECORRIDO DE UN ARBOL
2. Recorrido en inorden
- Recorrer el subárbol izquierdo
- Visitar la raíz
- Recorrer el subárbol derecho
3. Recorrido en postorden
- Recorrer el subárbol izquierdo
- Recorrer el subárbol derecho
- Visitar la raíz
BALANCEO DE UN ARBOL
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. Existen varias técnicas para balancear de manera
adecuada un árbol binario, dichas técnicas se pueden clasificar en dos grupos:
- Las que balancean en el momento que un nuevo nodo ingresa en el árbol y
- Las que utilizan el mismo árbol o una estructura adicional para balancear el árbol.
Las primeras técnicas reestructuran constantemente el árbol, cuando los elementos llegan y
producen un árbol desbalanceado, lo cual requiere un pequeño retraso en la inserción de un
nuevo nodo. El segundo grupo de técnicas, realiza el balanceo en dos procesos, el primero,
ordena los datos del árbol en forma ascendente (menor a mayor), ya sea en el mismo árbol o
en otra estructura adicional (pila, cola o lista) y el segundo, construye un nuevo árbol con los
datos ordenados, lo que garantiza que el árbol resultante se balancea.

También podría gustarte