Created
December 12, 2012 00:52
-
-
Save leopic/4263864 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> # Pregunta No 1 (24 Puntos) | |
> Se quiere representar la información que se maneja en el área de servicio al cliente de un | |
> banco. En el banco hay N cajeros, cada cajero puede atender M clientes, pero sólo uno a la | |
> vez. Cuando un cajero atiende a un cliente debe dejar el recibo de la transacción en un estante | |
> especial, de tal manera que el último recibo debe ser el más fácil de acceder después. Los | |
> clientes pueden tener varias cuentas en el banco, y se quiere llevar información de todas ellas. | |
> Se requiere acceder a la información de las cuentas lo más eficiente posible. Todas las cuentas | |
> tienen un número único de identificación, el banco distingue cuáles son de dólares y cuáles son | |
> en colones, por el número de la cuenta, por lo tanto no hay que guardar esta información. | |
> a) Defina las estructuras de datos usaría para representar la información descrita | |
> anteriormente del banco con respecto a los cajeros, clientes, recibos y cuentas. | |
> b) Explique por qué escogió cada una de las estructuras mencionadas en el punto a. | |
a) Estas son las estructuras que se eligieron: | |
-- Cajeros: Lista Enlazada | |
-- Clientes: Cola | |
-- Recibos: Pila | |
-- Cuentas: Lista Enlazada | |
b) Explicacion | |
-- Cajeros, Lista Enlazada | |
Debido a la naturaleza dinamica de los Cajeros, una lista provee flexibilidad para agregar y eliminar | |
elementos y la facilidad de acceder a cualquiera de ellos. | |
-- Clientes, Cola | |
Para intentar restaurar la igualdad en el universo, el primer elemento que ingresa es el primer | |
elemento que sale, al igual que los cajeros, tiene flexibilidad con respecto a la cantidad de | |
elementos que puede tener, FIFO. | |
-- Recibos, Pila | |
En este caso, la igualdad en el universo es secundaria, queremos tener acceso al ultimo elemento | |
ingresado de primero, entonces el model LIFO (ultimo en ingresar, primero en salir) es justo lo | |
que ocupamos para este caso. | |
-- Cuentas, Lista Enlazada | |
Ya que el acceso a un elemento X no es prioridad pero la cantidad debe de ser flexible, utilizamos de | |
nuevo una lista enlazada, inclusive podriamos usar una lista enlazada doble para agilizar la | |
busqueda de elementos. | |
> # Pregunta No 4 (22 Puntos) | |
> Muestre gráficamente (o en una tabla) TODO el proceso de ordenamiento de la siguiente lista | |
> de números enteros: 12, 34, 3, 1, 55, 90, 100, 23, 2, 10 | |
> Primero elija el método de ordenamiento que va a utilizar: ShellSort, MergeSort o QuickSort | |
Se usara ShellSort. | |
El arreglo tiene 10 elementos, por lo que el 'brinco' (gap) inicial sera de 5, | |
posteriormente de 2 y finalmente de 1. Se requiere de un total de 22 'vueltas' | |
para ordenar completamente el arreglo, aca se encuentra la salida, por cada vuelta | |
para el metodo: | |
cuando el gap es 5: | |
1) [12, 34, 3, 1, 55, 90, 100, 23, 2, 10] | |
2) [12, 34, 3, 1, 55, 90, 100, 23, 2, 10] | |
3) [12, 34, 3, 1, 55, 90, 100, 23, 2, 10] | |
4) [12, 34, 3, 1, 55, 90, 100, 23, 2, 10] | |
5) [12, 34, 3, 1, 10, 90, 100, 23, 2, 55] | |
cuando el gap es 2: | |
1) [3, 34, 12, 1, 10, 90, 100, 23, 2, 55] | |
2) [3, 1, 12, 34, 10, 90, 100, 23, 2, 55] | |
3) [3, 1, 10, 34, 12, 90, 100, 23, 2, 55] | |
4) [3, 1, 10, 34, 12, 90, 100, 23, 2, 55] | |
5) [3, 1, 10, 34, 12, 90, 100, 23, 2, 55] | |
6) [3, 1, 10, 23, 12, 34, 100, 90, 2, 55] | |
7) [2, 1, 3, 23, 10, 34, 12, 90, 100, 55] | |
8) [2, 1, 3, 23, 10, 34, 12, 55, 100, 90] | |
cuando el gap es 1: | |
1) [1, 2, 3, 23, 10, 34, 12, 55, 100, 90] | |
2) [1, 2, 3, 23, 10, 34, 12, 55, 100, 90] | |
3) [1, 2, 3, 23, 10, 34, 12, 55, 100, 90] | |
4) [1, 2, 3, 10, 23, 34, 12, 55, 100, 90] | |
5) [1, 2, 3, 10, 23, 34, 12, 55, 100, 90] | |
6) [1, 2, 3, 10, 12, 23, 34, 55, 100, 90] | |
7) [1, 2, 3, 10, 12, 23, 34, 55, 100, 90] | |
8) [1, 2, 3, 10, 12, 23, 34, 55, 100, 90] | |
9) [1, 2, 3, 10, 12, 23, 34, 55, 90, 100] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment