Vous êtes sur la page 1sur 9

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO

FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLN

Materia

Informtica II OAED
Profesora

Claudia Cruz Snchez


Alumno

Rabadn Cortes Luis Angel


Grupo 2201

Tarea 2: Estructuras Lineales

ndice
INTRODUCCION 2 ESTRUCTURAS LINEALES..3 Pilas.4 Colas5 Doble colas.6 CONCLUSIONES..7 BIBLIOGRAFIA..8

INTRODUCCIN
Las estructuras lineales de datos se caracterizan porque sus elementos estn en secuencia, relacionados en forma lineal, uno luego del otro. Cada elemento de la estructura puede estar conformado por uno o varios subelementos o campos que pueden pertenecer a cualquier tipo de dato, pero que normalmente son tipos bsicos. Entre las mltiples aplicaciones que tienen estas estructuras podemos mencionar: * El desarrollo de compiladores de lenguajes de programacin que estn conformados por varios subprogramas con finalidades ms especficas, como por ejemplo: el analizador de lxico que genera la tabla de smbolos. * La simulacin discreta de sistemas a travs del computador, donde la mayora de los paquetes de simulacin digital ofrecen lenguajes de simulacin que soportan las primitivas para el manejo de colas y sus diferentes versiones. * La realizacin de sistemas operativos para los computadores, los cuales hacen un uso intensivo de las estructuras lineales, ya que internamente se soportan en los sistemas operativos, las colas de ejecucin para los dispositivos, las pilas de llamadas a los subprogramas de cualquier programa, las listas de usuarios en los sistemas operativos multiusuarios, etc.

ESTRUCTURAS LINEALES
Una estructura lineal de datos o lista est conformada por ninguno, uno o varios elementos que tienen una relacin de adyacencia ordenada donde existe un primer elemento, seguido de un segundo elemento y as sucesivamente hasta llegar al ltimo. El tipo de dato de los elementos puede ser cualquiera, pero debe ser el mismo tipo para todos. El valor contenido en los elementos puede ser el mismo o diferente. En estas estructuras se realizan operaciones de agregar y/o eliminar elementos a la lista segn un criterio particular. Sobre la base de la forma y el lugar de la realizacin de estas operaciones en la misma, las listas se clasifican en listas de acceso restringido y listas de acceso no restringido. Las listas de acceso restringido son las pilas, colas y dipolos. En las pilas, las operaciones de acceso se realizan por un nico extremo de la lista, al cual normalmente se denomina tope de la pila. En las colas, estas operaciones se realizan por ambos extremos de la lista llamados generalmente, inicio y fin de la cola. Finalmente, en los dipolos que son colas dobles, las operaciones se realizan tambin por ambos extremos de la lista, en este caso todas las operaciones se pueden hacer por ambos extremos, es decir se puede insertar o eliminar elementos por el tope o por el fin, a diferencia de la cola donde se inserta siempre por el fin y se elimina por el tope. Se puede entonces considerar al dipolo como una clase general de la clase cola. Las listas de acceso no restringido, denominadas listas, son el tipo ms general, al cual se considera como la superclase de las otras clases de listas, en especfico de las pilas, colas y dipolos. Haciendo la jerarqua de clases adecuada para estas estructuras, se tiene que la lista es la clase raz de la jerarqua que tiene como subclases la pila, la cola y el dipolo, este ltimo a su vez tiene como subclases el dipolo de entrada restringida y el dipolo de salida restringida. Esta jerarqua se observa en la siguiente figura:
Lista Dipolo EF Pila Cola Dipolo Dipolo ST

Jerarqua de clases para las listas.

PILAS Una pila (stack en ingls) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del ingls Last In First Out, ltimo en entrar, primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informtica debido a su simplicidad y ordenacin implcita en la propia estructura. Los elementos se insertan de uno en uno. Los elementos se sacan en orden inverso al cual se ha insertado. El nico elemento que se puede observar es el ltimo insertado.

Aplicaciones: Navegadores en Internet almacenan en una pila las direcciones de los sitios ms recientemente visitados. Los editores de texto proporcionan normalmente un botn deshacer que cancela las operaciones de edicin recientes y restablece el estado anterior del documento. Aplicaciones: Navegadores en Internet almacenan en una pila las direcciones de los sitios ms recientemente visitados. Los editores de texto proporcionan normalmente un botn deshacer que cancela las operaciones de edicin recientes y restablece el estado anterior del documento.

Ejemplo de uso del TAD Pila:


public class PruebaPila{ public static void main (String []args){ Pila<Integer> p = new Pila<Integer>(); for(inti=1; i<10;i++) p.push(i); System.out.println("Los elementos de la pila son:"); while(!p.esVacio()) System.out.println(p.pop()); }}

COLAS Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operacin de insercin push se realiza por un extremo y la operacin de extraccin pop por el otro. Tambin se le llama estructura FIFO (del ingls First In First Out), debido a que el primer elemento en entrar ser tambin el primero en salir. Las colas, al igual que las pilas, resultan de aplicacin habitual en muchos problemas informticos. Quizs la aplicacin ms comn de las colas es la organizacin de tareas de un ordenador. En general, los trabajos enviados a un ordenador son "encolados" por este, para ir procesando secuencialmente todos los trabajos en el mismo orden en que se reciben. Cuando el ordenador recibe el encargo de realizar una tarea, esta es almacenada al final de la cola de trabajos. En el momento que la tarea que estaba realizando el procesador acaba, este selecciona la tarea situada al principio de la cola para ser ejecutada a continuacin. Todo esto suponiendo la ausencia de prioridades en los trabajos. En caso contrario, existir una cola para cada prioridad. Del mismo modo, es necesaria una cola, por ejemplo, a la hora de gestionar eficientemente los trabajos que deben ser enviados a una impresora (o a casi cualquier dispositivo conectado a un ordenador). De esta manera, el ordenador controla el envo de trabajos al dispositivo, no enviando un trabajo hasta que la impresora no termine con el anterior. EJEMPLOS
class Cola { public: Cola (void); bool Encolar (Valor); bool Desencolar (void); boolPrimeroCola (Valor &); boolColaVacia (void); private: .??. };

DOBLE COLAS Una cola doblemente terminada es una estructura de datos lineal que permite insertar y eliminar elementos por ambos extremos, podra verse como un mecanismo que permite aunar en una nica estructura las funcionalidades de las pilas y las colas. Las operaciones que se pueden realizar con una cola doblemente terminada son: Operacion Insertar elemento al final Insertar elemento al principio Eliminar el ultimo elemento Eliminar el primer elemento Examinar el ultimo elemento Examinar el primer elemento C++ Java Perl Python Ruby

push_back offerLast push append push push_front offerFirst unshift appendleft unshift pop_back pollLast pop pop pop pop_front pollFirst shift popleft shift back peekLast $_[-1] <obj>[-1] last front peekFirst $_[0] <obj>[0] first

Existe una variable de la cola simple que es la bicola (doble cola). Es una cola bidimensional en la que las inscripciones y eliminaciones se pueden realizar en cualquiera de los dos extremos de la cola. Insercin Eliminacin Inicio Eliminacin Insercin Existen dos variantes de la bicola (cola doble): Cola doble con entrada restringida: Acepta valor, inserciones solo al final de la columna. Cola doble con salida restringida: Acepta eliminaciones solo al inicio de la cola. Final

CONCLUSIONES

El manejo de informacin relacionada en forma lineal es, hoy por hoy, una de las bases de la mayora de los paquetes de programacin. Existen una infinidad de paquetes programados cuya implementacin se centra en el manejo y uso de este tipo de estructura de datos.

REFERENCIAS BIBLIOGRFICAS Y/O ELECTRNICAS


es.scribd.com/doc/78973255/Estructuras-Lineale-y-Algoritmos-Para-Manipular-Listas# http://www.mitecnologico.com/Main/EstructurasDeDatosLinealesYNoLineales http://www.ing.ula.ve/~ibc/ayda/c9estLin.pdf

Vous aimerez peut-être aussi