Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Nombre del alumno: Antony Arturo García Pérez Matrícula: 2020690020 Carrera: Licenciatura en Ciencia de Datos Nombre de la materia: Algoritmos y Estructura de Datos Nombre del docente: Carlos Basulto González TAREA 2.1: Pilas, Colas y Listas Sabinas, Coahuila 08/12/2020 Primero hay que definir lo que es una pila, una pila o stack en inglés es una lista ordenada o estructura de datos que permite almacenar y recuperar datos, siendo el modo de acceso a sus elementos de tipo LIFO (del inglés Last In, First Out, «último en entrar, primero en salir») . Esta estructura se aplica en multitud de supuestos en el área de informática debido a su simplicidad y capacidad de dar respuesta a numerosos procesos. Para el manejo de los datos cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado. En cada momento solamente se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado (denominado TOS, Top of Stack en inglés). La operación retirar permite la obtención de este elemento, que es retirado de la pila permitiendo el acceso al anterior (apilado con anterioridad), que pasa a ser el último, el nuevo TOS. Las pilas suelen emplearse en los siguientes contextos: · Evaluación de expresiones en notación postfija (notación polaca inversa). · Reconocedores sintácticos de lenguajes independientes del contexto. · Implementación de recursividad. Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar equivaldría a retirarlo. 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, una pila de películas, de libros, de discos, pila de resultados parciales de fórmulas aritméticas, llamadas a subprogramas etc. Pienso que es muy importante tener un buen conocimiento de este tipo de algoritmos, pues con este tenemos un mayor manejo y repertorio de conocimientos útiles a la hora de programar así nosotros tendremos en mente siempre cual deber de ser el algoritmo que sea más conveniente en cualquier aplicación que se nos presente
Compartir