Principios de Estructuras de Datos.
Alexis Villalobos Salazar Introducción a la programación Instituto IACC Lunes 16 de julio de 2018
Desarrollo 1) En Santiago se ha inaugurado una dulcería famosa porque solo produce un tipo de queque de chocolate que satisface todos los gustos. La dulcería no vende ni hornea ningún otro tipo de producto. Cada día asisten más y más clientes y se ha decidido implementar un sistema de ventas con ticket para la atención de los usuarios. Además, se debe considerar, por orden del repostero, que los queques se vendan en el orden en que van saliendo y no se deben acumular en los mostradores (esto para garantizar calidad y frescura del producto). Al implementar este sistema en la repostería, ¿qué tipo de datos abstractos reconoce que pueden estar presentes en la implementación del sistema final? Fundamente su respuesta. Respuesta: En este caso, para el sistema que se incorporo para una mayor rapidez de atención y mantener frescos los productos que se venden, los datos abstractos que se implementaron son los de cola. Ya que en este tipo de dato nos permite la atención del primer cliente en llegar hasta el último que se coloca en la fila. Hay varias formas de implementar una cola en la memoria de un ordenador, bien con vectores o en listas enlazadas. En cualquier opción se necesitan de dos variables que representan a los punteros Frente (F=front) y al final (r = rear). El estado de la cola vacía se manifiesta cuando f y r son ambas nulos en la implementación dinámica o cuando coinciden en el caso estático. Las colas facilitan la interconexión y el almacenamiento de datos en transito tanto en redes de ordenadores, como entre un procesador y un periférico (así por ejemplo, en los trabajos para imprimir, decimos que el trabajo está en la cola de la impresión, por orden de llegada). Cola (fila).
Es una estructura de datos que almacena elementos en una lista. Conocidas como FIFO. Los elementos se insertan por el final. Los elementos se eliminan por el inicio.
2) Se requiere diseñar una función que calcule si una palabra es palíndromo1 o no. Para ello debe comparar las estructuras de datos: pila, cola, arreglos, secuencias o listas, y argumentar cuál recomienda para implementarla dentro de un programa. Palíndromo: Palabra o expresión que es igual si se lee de izquierda a derecha o de derecha a
izquierda. Pila (Stack): Una pila es un método de estructuración de datos usando la forma LIFO (Último en
entrar, Primero en salir). Que permite almacenar y recuperar datos. Operaciones de las Pilas: Las operaciones que se pueden realizar con una pila son:
Push (Pila, Elemento): Introduce un elemento
de la pila. También se le conoce como poner o meter. POP (Pila): Elimina un elemento de la pila.También se le conoce como Sacar o Quitar. Vacía (Pila): Función Booleana que indica si la pila esta vacía o no.
Ejemplo de pila:
Cola: Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la
que la operación de inserción Push se realiza por un extremo y la operación Pop por el otro. También se le llama estructura FIFO (First In First Out), Debido a que el primer elemento que entra será el primero elemento en salir. Operaciones Básicas de una cola:
Crear cola. Insertar. Quitar. Cola vacía. Cola llena (En caso de querer tener un límite en la cola), (Excepción). Frente (Inicio). Tamaño de la cola.
Ejemplo de cómo Insertar en Cola
Cola Doble: Esta estructura similar a la cola simple y tiene como característica especial que
permite insertar y eliminar elementos por ambos extremos de la cola. Para identificar esta estructura se utiliza el “frente y final” a fin de indicarle al usuario por el cual extremo requiere
ingresar o retirar el dato.
Arreglos: Un arreglo es un conjunto de datos o una estructura de datos Homogéneos, que se
encuentran ubicados en forma consecutiva en la memoria Ram (sirve para almacenar datos en forma temporal). Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes tipos:
De una dimensión. De dos dimensiones. De tres o más dimensiones.
Tipos de arreglos:
Arreglos Unidimensionales. Arreglos Multidimensionales. Arreglo con Múltiple Subíndices.
Ejemplo de Arreglo:
Listas: Una lista es una estructura de datos lineal que se puede representar simbólicamente como
un conjunto de nodos enlazados entre sí. Las listas permiten modelar diversas entidades del mundo real como por ejemplo, los datos de los alumnos de un grupo académico, los datos del personal de una empresa, los programas informáticos almacenados en un disco magnético, etc.
Respuesta: Después de comparar las diferentes estructuras de datos podemos decir o recomendar la estructura de datos de “cola doble”, ya que con ella podemos ingresar datos por ambos
extremos de la cola y a su vez retirar los datos por el frente y por el final de la cola. La solución de nuestro problema sería utilizar una cola doble para almacenar los caracteres de la cadena. Así podemos procesar la cadena de datos de izquierda a derecha y podríamos agregar caracteres o datos al final de la doble cola. En esta condición la cola estaría actuando muy parecido a una cola ordinaria. Sin embargo, ahora tendremos la opción de usar la doble funcionalidad de la cola doble. En el frente de la cola doble obtendremos el primer carácter de la cadena y en el final de la cola se tendrá el último carácter.
Bibliografía
IACC (2018). Principios de estructuras de datos. Introducción a la programación semana 6. https://www.ecured.cu/Archivo:Arrreglo_de_inicializaci%C3%B3n.jpg IACC (2018). Recursos Adicionales.