Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Código de Referencia:
https://github.com/ISIS1225DEVS/ISIS1225-Lib/blob/master/DISClib/ADT/stack.py
https://github.com/ISIS1225DEVS/ISIS1225-Lib/blob/master/DISClib/ADT/queue.py
Analizar la complejidad temporal de las operaciones del TAD Stack de acuerdo a la estructura de datos que
se utilice en su implementación.
1.1.1 Si el TAD Stack se implementa usando un arreglo (ArrayList), ¿Es más eficiente para las operaciones
que el tope sea el primer elemento o el último elemento del arreglo? Justificar la respuesta.
Operación TAD Stack Complejidad si tope al principio Complejidad si tope al final del ArrayList
del ArrayList
push (stack, element)
pop (stack)
Operación TAD Stack Complejidad si tope al principio Complejidad si tope al final de Lista
de Lista Simple Enlazada Simple Enlazada
push (stack, element)
pop (stack)
Respuesta mejor selección del tope: Al principio / Al final de la Lista Simplemente Enlazada
Suponga que inicia con un Stack vacio. Se va procesar una entrada de datos compuesta de letras y del
carácter guión: Toda letra significa aplicar push( … ) de la letra al Stack y todo guión significa que debe
aplicarse pop( … ) al Stack.
Dar el estado final del Stack después de procesar la entrada (en el orden de izquierda a derecha). Indicar
cuál es la letra que corresponde al tope del Stack resultante.
Entrada a procesar: 'P', 'R', 'U', '-', 'E', 'B', '-', '-', 'A', 'S', '-', 'T', 'A', 'C', '-', '-', 'K'
1.3.1 Un caso de uso de Stacks es en un navegador Web cuando un usuario al navegar entre diferentes
páginas o sitios Web, el usuario quiere regresar a la página o sitio anterior. De esta forma el usuario
siempre puede regresar a una página o sitio que ya visitó.
1.3.2 Otro caso de aplicación de Stacks se usa en la evaluación de expresiones aritméticas que usan
operadores binarios (+, -, *, /, % y paréntesis). Por ejemplo evaluar la expresión:
1.3.3 En su caso propio, piense en un posible caso o problema donde Ud. considera la solución puede usar
uno o varios Stacks. Explíquelo en un párrafo.
2. Funcionalidad Básica del TAD Queue (FIFO)
El propósito es analizar la complejidad temporal de las operaciones del TAD Queue de acuerdo a la
estructura de datos que se utilice en su implementación.
2.1.1 Si el TAD Queue se implementa usando un arreglo (ArrayList), ¿Es más eficiente para las
operaciones que el principio del queue sea el primer elemento o el último elemento del arreglo?
Operación TAD Queue Complejidad si primer elemento Complejidad si primer elemento al final
al principio del ArrayList del ArrayList
enqueue (queue, element)
dequeue (queue)
Respuesta mejor selección del primer elemento: Al principio / Al final del ArrayList
2.1.2 Si el TAD Queue se implementa usando una lista simplemente enlazada (Single Linked List), ¿Es más
eficiente para las operaciones que el principio del queue sea el primer elemento o el último
elemento de la lista?
Operación TAD Queue Complejidad si primer elemento Complejidad si primer elemento al final
al principio de Lista Simple de Lista Simple Enlazada
Enlazada
enqueue (queue, element)
dequeue (queue)
Respuesta mejor selección del primer elemento: Al principio / Al final de la Lista Simplemente Enlazada
Suponga que inicia con una Queue vacia. Se va procesar una entrada de datos compuesta de letras y del
carácter guión: toda letra significa aplicar enqueue( … ) de la letra a la Queue y todo guión significa que
debe aplicarse dequeue( … ) a la Queue.
Dar el estado final de la Queue después de procesar la entrada (en el orden de izquierda a derecha). Indicar
cuál es la letra que corresponde al principio y cuál letra al final de la Queue.
Entrada a procesar: 'P', 'R', 'U', '-', 'E', 'B', '-', '-', 'A', 'Q', '-', 'U', 'E', 'U', '-', '-', 'E'
2.3.1 Un caso de uso de Queues es la atención de clientes por parte de un cajero en un almacén o sucursal
bancaria. El cajero atiende a los clientes respetando su orden de llegada.
2.3.2 Otro caso de uso de Queues puede ser la forma como una impresora compartida por muchos
empleados recibe y atiende los documentos de impresión. La impresora imprime los documentos
respetando su orden de llegada.
2.3.3 En su caso propio, piense en un posible caso o problema donde Ud. considera la solución puede usar
uno o varios Queues. Explíquelo en un párrafo.