Sunteți pe pagina 1din 12

UNIVERSIDAD MICHOACAN DE SAN

NICOLAS DE HIDALGO

Betsy Yazmín Vega Soto


Semestre 4
Sección 43

ESTRUCTURAS NO LINEALES ARBOLES


Estructura de Datos
ESTRUCTURAS NO LINEALES ARBOLES

1. DEFINICION.

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.

La definición de árbol es la siguiente: es una estructura jerárquica aplicada sobre


una colección de Elementos u objetos llamados nodos; uno de los cuales es
conocido como raíz. Además, se crea una relación o parentesco entre los nodos
dando lugar a términos como padre, hijo, hermano, antecesor, sucesor, ancestro,
etc. Los árboles tienen una gran variedad de aplicaciones. Por 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.

A los árboles ordenados de grado dos se les conocen como árboles binarios ya que
cada nodo del árbol no tendrá más de dos descendientes directos. Las aplicaciones
de los árboles binarios son muy variadas ya que se les puede utilizar para
representar una estructura en la cual es posible tomar decisiones con dos opciones
en distintos puntos.

Ejemplo de un árbol:
2. CONCEPTO.

Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o
varios nodos. También se suele dar una definición recursiva: un árbol es una
estructura en compuesta por un dato y varios árboles.

Esto son definiciones simples. Pero las características que implican no lo son tanto.
Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o
varios nodos.

También se suele dar una definición recursiva: un árbol es una estructura en


compuesta por un dato y varios árboles.
Esto son definiciones simples. Pero las características que implican no lo son tanto.
3. CLASIFICACIÓN DE ÁRBOLES

Existen cuatro tipos de árbol binario:

A. Distinto.
B. Similares.
C. Equivalentes.
D. Completos.

A continuación, se hará una breve descripción de los diferentes tipos de árbol binario
así como un ejemplo de cada uno de ellos.

A. A. DISTINTO: Se dice que dos árboles binarios son distintos cuando sus
estructuras son diferentes.

B. B. SIMILARES: Dos árboles binarios son similares cuando sus estructuras son
idénticas, pero la información que contienen sus nodos es diferente.
C. C. EQUIVALENTES: Son aquellos árboles que son similares y que además los
nodos contienen la misma información.

D. D. 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.
4. EJEMPLOS.
5. OPERACIONES BÁSICAS SOBRE ARBOLES BINARIOS.

Salvo que trabajemos con árboles especiales, como los que veremos más adelante,
las inserciones serán siempre en punteros de nodos hoja o en punteros libres de
nodos rama. Con estas estructuras no es tan fácil generalizar, ya que existen
muchas variedades de árboles. De nuevo tenemos casi el mismo repertorio de
operaciones de las que disponíamos con las listas: Añadir o insertar elementos.
Buscar o localizar elementos. Borrar elementos. Moverse a través del árbol.
Recorrer el árbol completo. Los algoritmos de inserción y borrado dependen en gran
medida del tipo de árbol que estemos implementando, de modo que por ahora los
pasaremos por alto y nos centraremos más en el modo de recorrer árboles.

6. APLICACIONES.

Un ejemplo de estructura en árbol es el sistema de directorios y ficheros de un


sistema operativo. Aunque en este caso se trata de árboles con nodos de dos tipos,
nodos directorio y nodos archivo, podríamos considerar que los nodos hoja son
archivos y los nodos rama son directorios. Otro ejemplo podría ser la tabla de
contenido de un libro, por ejemplo, de este mismo manual, dividido en capítulos, y
cada uno de ellos en subcapítulos. Aunque el libro sea algo lineal, como una lista,
en el que cada capítulo sigue al anterior, también es posible acceder a cualquier
punto de él a través de la tabla de contenido. También se suelen organizar en forma
de árbol los organigramas de mando en empresas o en el ejército, y los árboles
genealógicos.

7. 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.

Un Grafo consiste en un conjunto de nodos o vértices y un conjunto de ejes o aristas.


Usualmente se lo denota = (). Las aristas son pares de vértices () con 2. Si () 2, se
dice que y están conectados o son adyacentes. Un trazado o dibujo de un grafo =
() usando segmentos de 1 recta para las aristas es una asignación de una posición
en el plano a cada vértice en V. 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.
Los grafos sólo contienen información relacional entre los vértices, así que en
principio no tienen ninguna forma \natural" de ser dibujados. Sin embargo, de las
infinitas formas de trazar un grafo en el plano, algunas son claramente peores que
otras, siempre teniendo en cuenta que el objetivo es visualizar el grafo.

8. TERMINOLOGIA.

Un grafo se compone por un conjunto de “V” vértices y un conjunto de “A” aristas.


Cada arista se identifica con el par de vértices que une. Los vértices de una arista
son entre si nodos adyacentes.

 Grado de un nodo:
Numero de aristas que contiene ese nodo. Si el grado de un nodo es 0, se dice que
es un nodo aislado.

 Grado de un grafo:
Números de vértices de ese grafo.

 Camino:
Un camino C de longitud N de un nodo V1 a un nodo V2, se define como la
secuencia de nodos por los que hay que pasar para llegar del nodo V1 a V2. La
longitud es el número de aristas que comprende el camino. El camino es cerrado si
empieza y termina en el mismo nodo. El camino es simple si todos los nodos de
dicho camino son distintos a excepción de los de los extremos que pueden ser
iguales.
 Bucles:
Aristas cuyos extremos son idénticos.

 Aristas múltiples:
Dos o más aristas que conectan los mismos nodos

Tipos de grafos:

 Grafo conectado o conexo:


Existe un camino simple entre dos cualquiera de sus nodos.

 Grafo desconectado:
Aquel en que existen nodos que no están unidos por ningún camino

 Grafo dirigido:
Cada arista tiene asignada una dirección (identificada por un par ordenado).
 Grafo no dirigido:
La arista está definida por un par no ordenado.

 Grafo sencillo:
Aquel que no tiene ni bucles ni aristas múltiples.

 Grafo múltiple o multígrafo:


Permite la existencia de aristas múltiples o bucles.

 Grafo completo:
Cada nodo del grafo es adyacente a todos los demás.

 Grafo etiquetado con peso ponderado:


Cada arista tiene asociado un valor denominado peso. Se usa para indicar algún
criterio de evaluación como la longitud o la importancia de la arista respecto a un
parámetro.

 Peso de un camino:
La suma de los pesos de las aristas del camino.

Representación de los grafos

Existen dos formas de representar un grafo:

Con memoria estática (Matriz adyacente): Matriz de N*N elementos donde N es


el número de nodos del grafo.

Cada posición M (i, j) indica si hay una conexión o no entre los nodos que están
asociados a la posición i y j de la matriz.
Con memoria dinámica. Se utilizan 2 listas enlazadas:

*Lista de nodos: Formada por todos los vértices.


*Lista de adyacentes: Contiene las aristas del grafo.

9. OPERACIONES.

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.

Otras operaciones

Las operaciones adicionales que puede incluir un grafo son muy variadas. Además
de las clásicas de búsqueda de un elemento o recorrido del grafo, también podemos
encontrarnos con ejecución de algoritmos que busquen caminos más cortos entre
dos vértices, o recorridos del grafo que ejecuten alguna operación sobre todos los
vértices visitados, por citar algunas operaciones de las más usuales.

S-ar putea să vă placă și