Sei sulla pagina 1di 10

ESTRUCTURA DE DATOS

UNIDAD IV. ESTRUCTURAS NO LINEALES

LUIS CARLOS NOLASCO MURGO|


17401030
ARBOLES.

• Los árboles son estructuras no lineales, al contrario que los


arrays y las listas enlazadas, que constituyen estructuras
lineales. Por definición, un árbol consta de un conjunto finito
de elementos, denominados nodos y de un conjunto finito de
líneas dirigidas, denominadas ramas, que conectan los
nodos. El número de ramas asociado con un nodo es el grado
del nodo.
DEFINICIONES DE LOS ELEMENTOS DE UN
ÁRBOL
• El primer nodo de un árbol, normalmente dibujado en la posición superior, se denomina raíz del
árbol.
• Las flechas que conectan un nodo con otro se llaman arcos o ramas.
• Los nodos terminales, esto es, nodos de los cuales no se deduce ningún nodo, se denominan hojas.
• Los nodos que no son hojas se denominan nodos internos.
• En un árbol donde una rama va de un nodo n1 a un nodo n2, se dice que n1 es el padre de n2 y
que n2 es un hijo de n1.
• n 1 se llama ascendiente de n2 si n1 es el padre de n2 o si n1 es el padre de un ascendiente de
n2.
• n2 se llama descendiente de n1 si n1 es un ascendiente de n2.
• Un camino de n 1 a n 2 es una secuencia de arcos contiguos que van de n1 a n2.
• La longitud de un camino es el número de arcos que contiene o, de forma equivalente, el número
de nodos del camino menos uno.
• El nivel de un nodo es la longitud del camino que lo conecta al nodo raíz.
• La profundidad o altura de un árbol es la longitud del camino más largo que conecta la raíz a una
hoja.
• Un subárbol de un árbol es un subconjunto de nodos del árbol, conectados por ramas del propio
árbol, esto es, a su vez un árbol.
CLASIFICACIÓN DE LOS ARBOLES
Existen cuatro tipos de árbol binario:
• Distinto. Se dice que dos árboles binarios son distintos cuando sus
estructuras son diferentes
• Similares. Dos árboles binarios son similares cuando sus estructuras son
idénticas, pero la información que contienen sus nodos es diferente.
• Equivalentes. Son aquellos árboles que son similares y que además los
nodos contienen la misma información.
• Completos. Son aquellos árboles en los que todos sus nodos excepto los
del ultimo nivel, tiene dos hijos; el subárbol izquierdo y el subárbol
derecho.

DISTINTO SIMILAR EQUIVALENTE


OPERACIONES BÁSICAS

Como en toda estructura de datos hay dos operaciones básicas.


• Inserción
• Eliminación
Otra operación importante en el árbol es el recorrido del mismo. El recorrido se puede
realizar de tres formas diferentes:
• Preorden: Primero el nodo raíz, luego el subárbol izquierdo y a continuación el subárbol
derecho.
• Inorden: Primero el subárbol izquierdo, luego la raíz y a continuación el subárbol
derecho.
• Postorden: Primero el subárbol izquierdo, luego el subárbol derecho y a continuación la
raíz.
APLICACIONES

• Los árboles representan las estructuras no lineales y dinámicas de


datos más importantes en Computación. Dinámicas porque las
estructuras de árbol pueden cambiar durante la ejecución de un
programa. No lineales, puesto que a cada elemento del árbol
pueden seguirle varios elementos por lo tanto, tienen una gran
variedad de aplicaciones. Ejemplo: se pueden utilizar para
representar fórmulas matemáticas, para organizar adecuadamente
la información, para construir un árbol genealógico, en la toma de
decisiones, para el análisis de circuitos eléctricos y para numerar
los capítulos y secciones de un libro.
GRAFOS
• Un grafo es una estructura de datos no lineal con la siguiente característica: un
nodo puede apuntar a varios y a su vez ser apuntado por otro.
• Consiste de un conjunto de nodos o vértices y un conjunto de ejes o aristas. En
las versiones más simples, los vértices son dibujados como puntos y las aristas
como segmentos entre vértices. De aquí en más supondremos que el trazado
usa segmentos para las aristas, excepto cuando se aclare lo contrario. También
se supondrá que el grafo es conexo, ya que, si el grafo a trazar no lo es, se
puede trazar cada componente conexa por separado.
REPRESENTACIÓN DE GRAFOS
Estructura de lista
Lista de incidencia: El grafo está representado por una matriz de A (aristas) por V
(vértices), donde [arista, vértice] contiene la información de la arista (conectado o
no conectado).
Lista de adyacencia: El grafo está representado por un arreglo de listas de
adyacencia. Para un vértice i, la lista de adyacencia está formada por todos los
vértices adyacentes a i. Puede construirse en tiempo lineal, y las inserciones
pueden hacerse al principio de cada lista, con lo que se asegura tiempo constante.
Lista de grados: También llamada secuencia de grados o sucesión gráfica de una
secuencia de números, que corresponde a los grados de los vértices del grafo. 
Estructuras matriciales
Matriz de adyacencia: El grafo está representado por una matriz cuadrada M de
tamaño n^2, donde n es el número de vértices. Si hay una arista entre un vértice x
y un vértice y, entonces el elemento m_ {x, y} es 1, de lo contrario, es 0.
Matriz de incidencia: El grafo está representado por una matriz de A (aristas) por
V (vértices), donde [vértice, arista] contiene la información de la arista (1 -
conectado, 0 - no conectado)
OPERACIONES CON GRAFOS
• En los grafos, como en todas las estructuras de datos, las dos operaciones básicas son insertar
y borrar. En este caso, cada una de ellas se desdobla en dos, para insertar/eliminar vértices e
insertar/eliminar aristas.
• Insertar vértice. La operación de inserción de un nuevo vértice es una operación muy
sencilla, únicamente consiste en añadir una nueva entrada en la tabla de vértices (estructura
de datos que almacena los vértices) para el nuevo nodo. A partir de ese momento el grafo
tendrá un vértice más, inicialmente aislado, ya que ninguna arista llegará a él.
• Insertar arista.Esta operación es también muy sencilla. Cuando se inserte una nueva arista en
el grafo, habrá que añadir un nuevo nodo a la lista de adyacencia (lista que almacena los nodos
a los que un vértice puede acceder mediante una arista) del nodo origen, así si se añade la
arista (A,C), se deberá incluir en la lista de adyacencia de A el vértice C como nuevo destino.
• Eliminar vértice. Esta operación es inversa a la inserción de vértice. En este caso el
procedimiento a realizar es la eliminación de la tabla de vértices del vértice en sí. A
continuación, habrá que eliminar las aristas que tuviesen al vértice borrado como origen o
destino.
• Eliminar arista. Mediante esta operación se borra un arco del grafo. Para llevar a cabo esta
acción es necesario eliminar de la lista de adyacencia del nodo origen el nodo correspondiente
al nodo destino.
GRACIAS!

Potrebbero piacerti anche