pilas y colas

Upload: ana-maria-g

Post on 01-Mar-2016

8 views

Category:

Documents


0 download

DESCRIPTION

Estructura de datos: pilas y colas

TRANSCRIPT

Estructura

INSTITUTO UNIVERSITARIO DE TECNOLOGA INDUSTRIALRODOLFO LOERO ARISMENDIEXTENSIN LAS GARZAS

Estructura

Arreglos

Unarregloes un conjunto de datos o una estructura de datos homogneos que se encuentran ubicados en forma consecutiva en lamemoria RAM(sirve para almacenar datos en forma temporal).Un arreglo puede definirse como un grupo o una coleccin finita, homognea y ordenada de elementos. Los arreglos pueden ser de los siguientes tipos: De una dimensin. De dos dimensiones. De tres o ms dimensiones.

Tipos de arreglos Arreglos unidimensionales. Arreglos multidimensionales. Arreglo con mltiple subndices.

Operaciones con arreglosLas operaciones en arreglos pueden clasificarse de la siguiente forma: Lectura:este proceso consiste en leer un dato de un arreglo y asignar un valor a cada uno de sus componentes Escritura:Consiste en asignarle un valor a cada elemento del arreglo. Asignacin:No es posible asignar directamente un valor a todo el arreglo Actualizacin:Dentro de esta operacin se encuentran las operaciones de eliminar, insertar y modificar datos. Para realizar este tipo de operaciones se debe tomar en cuenta si el arreglo est o no ordenado. Ordenacin. Bsqueda. Insertar. Borrar. Modificar.

PilasLas pilas son estructuras de datos que tienes dos operaciones bsicas: push (para insertar un elemento) y pop (para extraer un elemento). Su caracterstica fundamental es que al extraer se obtiene siempre el ltimo elemento que acaba de insertarse. Por esta razn tambin se conocen como estructuras de datos LIFO (del ingls Last In First Out). Una posible implementacin mediante listas enlazadas sera insertando y extrayendo siempre por el principio de la lista. Gracias a las pilas es posible el uso de la recursividad (lo veremos en detalle en el tema siguiente). La variable que llama al mismo procedimiento en el q est, habr que guardarla as como el resto de variables de la nueva llamada, para a la vuelta de la recursividad ir sacandolas, esto es posible a la implementacin de pilas. Las pilas se utilizan en muchas aplicaciones que utilizamos con frecuencia. Por ejemplo, la gestin de ventanas en Windows (cuando cerramos una ventana siempre recuperamos la que tenamos detrs). Otro ejemplo es la evaluacin general de cualquier expresin matemtica para evitar tener que calcular el nmero de variables temporales que hacen falta. Por ejemplo: 3 + 4 * (8 2 * 5)

ColasLas colas tambin son llamadas FIFO (First In First Out), que quiere decir el primero que entra es el primero que sale. Colas simples: Se inserta por un sitio y se saca por otro, en el caso de la cola simple se inserta por el final y se saca por el principio. Para gestionar este tipo de cola hay que recordar siempre cual es el siguiente elemento que se va a leer y cul es el ltimo elemento que se ha introducido.

Colas circularesEn las colas circulares se considera que despus del ltimo elemento se accede de nuevo al primero. De esta forma se reutilizan las posiciones extradas, el final de la cola es a su vez el principio, crendose un circuito cerrado.

Lo que se ha hecho es insertar (5), sacar (1), e insertar (8). Se sabr que una tabla est llena cuando rear y front estn en una posicin de diferencia. El teclado de ordenador se comporta exactamente como una cola circular. Para implementar las colas circulares mediante listas enlazadas se pone en el tipo T_Lista los punteros front y rear. Colas con prioridad Las colas con prioridad se implementan mediante listas o arrays ordenados. No nos interesa en este caso que salgan en el orden de entrada sino con una prioridad que le asignemos. Puede darse el caso que existan varios elementos con la misma prioridad, en este caso saldr primero aquel que primero llego (FIFO).