Você está na página 1de 7

Modelización matemática-Algoritmos de ordenación

Modelización Matemática

Algoritmos de Ordenación

Monografía

Alumnas:
Arroyo, Fátima
Alcaraz, Eugenia
Ruiz, Cristina

1
Modelización matemática-Algoritmos de ordenación

INTRODUCCIÓN

Antes de comenzar a redactar la monografía nos pareció adecuado tener en


claro algunos conceptos con los que trabajamos. Para ello buscamos en
internet lo que a continuación mencionamos:
Un ordenamiento es la operación de arreglar los registros de una tabla en algún
orden secuencial de acuerdo a un criterio de ordenamiento.
La ordenación de datos es un proceso muy frecuente en programación. Esta
operación es también un proceso que las personas encuentran comúnmente en
sus rutinas diarias.
Por ejemplo, cada elemento de la colección de datos de una agenda telefónica
tiene un campo nombre, dirección, y un número de teléfono.
El propósito principal de un ordenamiento es el de facilitar las búsquedas de los
miembros del conjunto ordenado.
DESARROLLO

Es importante plantearse el tema de diseñar algoritmos de ordenación ya que


nos permite optimizar los tiempos.
Cuando diseñamos nuestro algoritmo lo hicimos teniendo en cuenta que
ordenábamos 10 cartas. Cuando se nos planteó utilizar ese mismo algoritmo
para ordenar 1000 cartas, el resultado no fue óptimo en cuanto a tiempo. Éste
último nos llevaba casi 6 días.
Si bien habitualmente ordenamos en la vida cotidiana, existen diseños que nos
ayudan cuando tenemos una gran cantidad de elementos y nos permiten
simplificar esta tarea, optimizando el proceso y por ende el tiempo.
El algoritmo que nosotros diseñamos es el siguiente:
Paso 1: El jugador debe ordenar las cartas hacia abajo (sin que se vea el
número) una al lado de la otra.
Paso 2: Se quiere que las cartas queden ordenadas de menor a mayor,
comenzando de izquierda a derecha.
Paso 3: Debe saber que la primera carta ocupa la posición “1” y la segunda la
posición “2”.
Paso 4: El jugador tomará la carta que está en la posición 1 y la carta que está
en la posición 2, las dará vuelta, las comparará y las ordenará de menor a
mayor; es decir dejando la menor a la izquierda y la mayor a la derecha. Luego
vuelve a darlas vuelta (hacia abajo). Caso contrario quedaran en la misma
posición.

2
Modelización matemática-Algoritmos de ordenación

Paso 5: Luego hará lo mismo con las cartas que están en la posición “2” y “3”.
Las dará vuelta, las comparará; si la carta de la izquierda es menor, se deja
donde está, caso contrario se invierten.
Paso 6: El jugador repetirá el procedimiento tantas veces sea necesario para
que las cartas queden todas ordenadas de menor a mayor.

Luego de saber cuales son los distintos tipos de ordenamiento el nuestro


corresponde al de Burbuja.
La cantidad de pasos que realizamos con el método diseñado para ordenar N
cartas es:

𝑛−1

∑𝑛 𝑠𝑖 𝑛 = 1000 𝑐𝑎𝑟𝑡𝑎𝑠
𝑛=1

1000−1 999

∑ 𝑛 = ∑ 𝑛 = 1 + 2 + 3 + ⋯ + 999 = 499.500 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠


𝑛=1 𝑛−1

P(n) = cantidad de tiempo que se emplea para ordenar, en este caso, 1000
cartas.
𝑛2 − 𝑛
𝑃 (𝑛) = 𝑑𝑜𝑛𝑑𝑒 𝑛 = 𝑛𝑢𝑚𝑒𝑟𝑜 𝑑𝑒 𝑐𝑎𝑟𝑡𝑎𝑠
2
Reemplazando en la fórmula encontrada:
(1000)2 − 1000 1000000−1000 999000
𝑃(1000) = = = = 499.500 segundos
2 2 2

Entonces:
86.400 segundos ---------- 1 día
499.500 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠 .1 𝑑𝑖𝑎
499.500 segundos---------x días= = 5,78 𝑑𝑖𝑎𝑠
86.400 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠

Como podemos notar se necesitaría casi 6 días para terminar de emplear el


método de ordenamiento.
Sin embargo existen algoritmos que son significativamente más rápidos que el
de Burbuja, como por ejemplo el de MergeSort.

3
Modelización matemática-Algoritmos de ordenación

A continuación se detallará este algoritmo utilizado con su desarrollo analítico.


El algoritmo MergeSort se aplica de la siguiente forma:
 En la primer pasada toma de a dos elementos, los compara y ordena de
menor a mayor.
 La segunda pasada hace lo mismo pero tomando el doble de cartas que
en la anterior pasada, es decir, compara 4 cartas y las ordena de menor
a mayor.
 Así sucesivamente hasta ordenar las 1024 cartas.

Intentamos ordenar la misma cantidad de cartas con éste último y el resultado


obtenido en cuanto a tiempo (y en cuanto a cantidad de pasos) se redujo a 2, 7
horas.
En nuestro caso trabajamos de la siguiente manera para obtener el resultado
que nos permitió decir que es más eficiente que el método de burbuja.
Procedimiento Analítico:

En nuestro caso fue significativo contar con la experiencia de trabajar con un


simulador. El mismo nos permitió comparar nuestro algoritmo diseñado con el
funcionamiento de un algoritmo más sofisticado, como el de Merge Sort, que
puso en evidencia la diferencia en cuanto a rendimiento para lograr el objetivo
de ordenación.
El uso de este algoritmo a través de la experiencia del simulador nos permitió
observar que al tomar el doble de cartas en cada pasada se simplificaba la

4
Modelización matemática-Algoritmos de ordenación

cantidad de comparaciones que debíamos realizar, ya que va tomando mayor


cantidad de elementos.
La analogía en cuanto al uso de los dos algoritmos mencionados (el de burbuja
y el de MergeSort) nos dio como resultado que es importante contar con
algoritmos de ordenamiento sofisticados que nos brinden mayor optimización
en cuanto a pasos, por ende a tiempo empleado.

Se nos ocurrió que podríamos ayudar si difundíamos la conclusión a la que


habíamos llegado, entonces pensamos en alguien que maneja muchos datos y
debe organizarlos.
Cuando es época de inscripciones para el cursado anual de algunas carreras
donde son numerosos los alumnos inscriptos, podemos ofrecer como
herramienta de gran utilidad el uso del algoritmo.
Supongamos que en administración/ secretaría, se debe tomar la
documentación de los alumnos para la inscripción a la carrera de “Ingeniería”
en la Universidad Nacional de Córdoba para el año 2019. Las siguientes son
todas las ingenierías que pueden elegirse:
Ingeniería Aeronáutica
Ingeniería Ambiental
Ingeniería Biomédica
Ingeniería Civil
Ingeniería Electromecánica
Ingeniería Electrónica
Ingeniería en Agrimensura
Ingeniería en Computación
Ingeniería en Química
Ingeniería Industrial
Ingeniería Mecánica
Si la inscripción estuviera disponible durante 10 días para todos los alumnos
por igual, posiblemente, en los primero días, no sea tanta la cantidad de
alumnos que realicen el trámite. Siempre ha sucedido que los últimos días son
los más concurridos.
La idea es ordenar por carrera elegida, curso y por nombre alfabético a los
alumnos que se hayan inscripto. Suponiendo que se utiliza de manera diaria la
siguiente planilla para ingresar los datos:

Día 1 de inscripción- Ingeniería

5
Modelización matemática-Algoritmos de ordenación

Nombre y apellido Carrera Curso Código

El código se asignará de acuerdo a la carrera y el curso. Por ejemplo:

Día 1 de inscripción- Ingeniería


Nombre y apellido Carrera Curso Código
Ingeniería Aeronáutica 1º IAE1
Ingeniería Ambiental 1º IAM1
Ingeniería Biomédica 2º INBI2
Ingeniería Civil 2º ICI2
Ingeniería Electromecánica 3º IEM3
Ingeniería Electrónica 3º IEL3
Ingeniería en Agrimensura 4º IEA4
Ingeniería en Computación 4º IEC4
Ingeniería en Química 5º IEQ5
Ingeniería Industrial 5º IIN5
Ingeniería Mecánica 1º IME1

El único número que tiene el código de carrera, corresponde al año de cursado.


Al concluir cada día de inscripción, el administrador deberá volcar en otra
planilla los datos, pero diferenciando carrera y curso. Al finalizar los 10 días de
inscripción, deberá ordenar también alfabéticamente a todos los alumnos en
sus respectivas planillas.
La intención de poder trabajar con el algoritmo, es que el mismo les va a
permitir ahorrar procedimientos, por ende, tiempo en la gestión de inscripción.
Con el esta herramienta no sería necesario que por día se diferencien las
carreras y curso. Se pueden ingresar los datos al sistema de manera diaria, al
finalizar la jornada de inscripción (día 10) se cierra la gestión y se solicita que el
algoritmo ordene todos los datos cargados.
Si el procedimiento tuviera un cierre diario, y el algoritmo ordenara los datos
recolectados en ese día, quizás no se note diferencia con cualquier otro
método utilizado, más aún cuando en las primeras jornadas son pocos los
inscriptos. La diferencia está en los últimos días, donde posiblemente haya
mayor concurrencia. Además, se evita realizar un cierre diario (10 cierres),
pudiendo hacer sólo uno, el del último día.

6
Modelización matemática-Algoritmos de ordenación

Você também pode gostar