miércoles, 22 de junio de 2011

UNIDAD IX: DATOS COMPLEJOS (PILAS, COLAS, LISTAS, GRAFOS Y ÁRBOLE)

PILAS
Una pila es una lista de elementos en la que se pueden insertar y eliminar elementos sólo por uno de los extremos. Como consecuencia, los elementos de una pila serán eliminados en orden inverso al que se insertaron. Es decir, el último elemento que se metió a la pila será el primero en salir de ella. 
En la vida cotidiana existen muchos ejemplos de pilas, una pila de platos en una alacena, una pila de latas en un supermercado, una pila de papeles sobre un escritorio, etc.


Representación en Memoria 

Las pilas no son estructuras de datos fundamentales, es decir, no están definidas como tales  en los lenguajes de programación. Las pilas pueden representarse mediante el uso de: 

• Arreglos.
• Listas enlazadas.

La representación gráfica de una pila es la siguiente:





COLAS

Son listas lineales de información a las cuales de accede de un modo determinado siendo el de tipo FIFO (First In, First Out) (Primero en Entrar, Primero en Salir), lo que quiere decir que el primer dato en entrar es también el primer dato  en salir, en las colas no se permite el acceso aleatorio a ningún elemento concreto. Las recuperaciones de operaciones son destructivas (elimina el elemento) de la cola, si no es almacenado en otro lugar se destruye.

Su utilización principal en las simulaciones, planificación de sucesos, y los procesos de entrada y salida con buffer. 
Existen muchísimos ejemplos de colas en la vida real, como por ejemplo: personas esperando en un teléfono público, niños esperando para subir a un juego mecánico, estudiantes esperando para subir a un camión escolar, etc.

Representación en Memoria 

Podemos representar a las colas de dos formas: 

• Como arreglos 
• Como listas ordenadas 

En lo sucesivo, al apuntador del primer elemento lo llamaremos F, al último elemento A y MAXIMO para definir el número máximo de elementos en la cola. 

Las colas lineales se representan gráficamente de la siguiente manera:




LISTAS

Son colecciones de elementos, donde cada uno de ellos, además de almacenar información, almacena la dirección del siguiente elemento. Una lista es una estructura lineal de datos. Es decir, cada uno de sus componentes y un predecesor únicos, con excepción del último y del primero. 

Las listas pueden implementarse mediante arreglos,  resultando así una estructura estática. También puede ser una memoria dinámica (La cantidad de memoria ocupada puede modificarse durante la ejecución del programa). Una lista enlazada o encadenada es una colección de elementos ó nodos, en donde cada uno contiene datos y un enlace o liga. 

A continuación se muestra el esquema de una lista:


GRAFOS

Un grafo es un conjunto de puntos (vértices) en el  espacio, que están conectados por un conjunto de líneas (aristas). 

Los grafos son estructuras de datos dinámicas no lineales, utilizadas comúnmente en el análisis de redes, en diseño de circuitos eléctricos, en estrategias de mercados, cartografía, mapas conceptuales, matemáticas, planificación de procesos y muchas área del conocimiento. 

Aristas

Son las líneas con las que se unen las aristas de un grafo y con la que se construyen también caminos.  
Si la arista carece de dirección se denota indistintamente  {a, b} o  {b, a}, siendo a y b los vértices que une.  
Si {a ,b} es una arista, a los vértices a y b se les llama sus extremos.  

Aristas Adyacentes: Se dice que dos aristas son adyacentes si convergen en el mismo vértice.  
Aristas Paralelas: Se dice que dos aristas son paralelas si vértice inicial y el final son el mismo.  
Aristas Cíclicas: Arista que parte de un vértice para entrar en el mismo.  
Cruce: Son dos aristas que cruzan en un punto.  

Vértices

Son los puntos o nodos con los que esta conformado  un grafo. Llamaremos grado de un vértice al número de aristas de las que es extremo. Se dice que un vértice es `par' o `impar' según lo sea su grado.  

Vértices Adyacentes: si tenemos un par de vértices de un grafo (U, V) y si tenemos un arista que los une, entonces U y V son vértices adyacentes y se dice que U es el vértice inicial y V el vértice adyacente. 
Vértice Aislado: Es un vértice de grado cero.  
 Vértice Terminal: Es un vértice de grado 1. 


ÁRBOLES
Es una estructura de datos formada por nodos los cuales están conectados por aristas. Un árbol se define como un tipo de grafo que no contiene ciclos.

Árbol Vacío: Un árbol puede estar vacío; es decir no contener ningún nodo. 
Raíz: es el nodo que está al tope del árbol. Un árbol solo tiene una raíz.

Camino: es la secuencia de nodos que hay que visitar para llegar de un nodo a otro de un árbol.

Padre: En un árbol toda rama va de un nodo n1 a un nodo n2, se dice que n1 es padre de n2.

Hijo: todo nodo puede tener más de una arista que lo lleva a otro nodo por debajo de él. Estos nodos que se encuentran por debajo de un nodo dado se llaman hijos.

Hojas: son aquellos  nodos que no tienen hijos.  En un árbol solo puede haber una raíz pero puede haber muchas hojas.
Subárbol: Cualquier nodo se puede considerar como la raíz de un subárbol.






12 comentarios: