santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un...

13
Instituto Tecnológico de Los Mochis Reporte No. De Matricula: 19440932 Fecha: 18 de Enero del 2021 Nombre del Estudiante: Santos González Jesús Carrera: Ingeniería Informática Fecha de entrega: 22 de Enero del 2021 Nombre de la Materia: Estructura de Datos Bibliografía Título del tema: Métodos de ordenamiento Descripción del Tema: a) Con base al trabajo de exposición de tus compañeros de grupo de los diversos algoritmos de ordenamiento; generar un cuadro comparativo. b) De al menos 2 problemas por integrante de equipo, donde se justifique la necesidad de utilizar métodos de ordenamiento, describiendo la importancia de su utilización. c) Colectar todos los programas de los diferentes métodos de ordenamiento, integrarlos en un solo programa con su respectivo menú y entregar el código, añadiendo los parámetros de medición de eficiencia de los algoritmos. Todas las actividades se tendrán que presentar en un solo documento, recuerden el formato ReporteITLM y Formato APA, La realización de las actividades son en equipo, sin embargo la publicación del documento en el Blog se hará de manera individual.

Transcript of santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un...

Page 1: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

No. De Matricula:

19440932

Fecha:

18 de Enero del 2021

Nombre del Estudiante:

Santos González Jesús

Carrera:

Ingeniería Informática

Fecha de entrega:

22 de Enero del 2021

Nombre de la Materia:

Estructura de Datos

Bibliografía

Título del tema:

Métodos de ordenamiento

Descripción del Tema:

a) Con base al trabajo de exposición de tus compañeros de grupo de los diversos algoritmos de ordenamiento; generar un cuadro comparativo.

b) De al menos 2 problemas por integrante de equipo, donde se justifique la necesidad de utilizar métodos de ordenamiento, describiendo la importancia de su utilización.

c) Colectar todos los programas de los diferentes métodos de ordenamiento, integrarlos en un solo programa con su respectivo menú y entregar el código, añadiendo los parámetros de medición de eficiencia de los algoritmos.

Todas las actividades se tendrán que presentar en un solo documento, recuerden el formato ReporteITLM y Formato APA,

La realización de las actividades son en equipo, sin embargo la publicación del documento en el Blog se hará de manera individual.

Fecha para entrega de actividades 22 de Enero 2021 en horario de 8:00 a 9:00 A.M.

Desarrollo del Tema:

Page 2: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

a) Con base al trabajo de exposición de tus compañeros de grupo de los diversos algoritmos de ordenamiento; generar un cuadro comparativo.

MÉTODOS DE ORDENAMIENTO

BURBUJA MEZCLA DIRECTA INTERCALACIÓN SHELLSORT RADIX MEZCLA NATURAL

QUICKSORT

FUNCIONAMIENTO

Los elementos van ‘subiendo’ en la lista.Se comparan los elementos adyacentes e intercambiarlos entre si hasta que se encuentren ordenados.

El ordenamiento por mezcla es un algoritmo recursivo que divide continuamente una lista por la mitad. La mezcla es el proceso de tomar dos listas ordenadas más pequeñas y combinarlas en una sola lista nueva y ordenada.

La intercalación de dos archivos es una operación que toma como entrada dos o más archivos homogéneos que ya están ordenados en base a la misma llave y genera un nuevo archivo que contiene los registros de los archivos de entrada ordenados.

Consiste en dividir el arreglo (o la lista de elementos), en intervalos (o bloques) de varios elementos para organizarlos después por medio del ordenamiento de inserción directa.

Ordena enteros procesando sus dígitos de forma individual. Como los enteros pueden representar caracteres y obviamente, números flotantes.

Se encarga de organizar los elementos de un archivo de forma ascendente o descendente.

Estas basado en una técnica conocida con el nombre divide y vencerás, que permite ordenar una cantidad de elementos en un tiempo proporcional a n2 en el peor de los casos o a n log n en el mejor de los casos.

DATOS Numéricos Numéricos Numéricos Numéricos Numéricos, alfabético

Numéricos Numéricos

COMPARACIONES

N siendo n elementos.O(N) de comparaciones.O(N2) en peor de los casos.

Si la lista está vacía o tiene un solo ítem, se ordena por definición (el caso base). Si la lista tiene más de un ítem, dividimos la lista e invocamos recursivamente un ordenamiento por mezcla para ambas mitades.

Se compara el primer elemento de los dos arrays de entrada, se selecciona el menor de ellos que será el primer elemento del array de salida, se avanza el índice del array del que se ha seleccionado el elemento, el proceso se repite hasta que se termina alguno de los arrays y se vuelca el array que no se haya terminado al array de salida.

n/2, n/4 … n/nEs decir, dividir entre dos, hasta que el ultimo intervalo sea 1. Donde n es el tamaño del arreglo.

Empieza con el digito menos significativo y se acomoda la lista de elementos en base en el dígito de esa posición, luego se cambia al siguiente dígito y se vuelve a acomodar la lista en base a ese dígito y así consecutivamente hasta hacerse con

La idea central de este algoritmo consiste en realizar particiones tomando secuencias ordenadas de máxima longitud en lugar de secuencias ordenadas de tamaño fijo previamente determinadas, como la intercalación directa.

El número de comparaciones promedio se calcula como:C=(n-1)*log n.Puesto que encontrar el elemento central del conjunto de datos es una tarea difícil, se recomienda que el elemento se escoja arbitrariamente.

Page 3: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

todos los dígitos.

USO

Arrays reducidos, no muy largos.

Se usa para combinar dos o más secuencias en una sola secuencia ordenada por medio de la selección repetida de los componentes accesiblesen ese momento.

Se utiliza para archivos de entrada que contienen registros homogéneos y los archivos de entrada deben estar ordenados en base a la misma llave.

El ShellSort es una mejora del método de inserción directa que se utiliza cuando el número de elementos a ordenar es grande.

Usa orden léxico para ordenar representaciones de enteros de longitud variable

Aprovecha la existencia de secuencias ya ordenadas dentro de los datos de los archivos.

Acomoda los elementos del arreglo a cada lado del pivote

EFICIENCIA

El más ineficiente. Debe intercambiar ítems antes de conocer su ubicación final. [Desperdicio]

Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales de acceso lento.

Es más eficiente que Quicksort para algunos tipos de listas con datos a ordenar que pueden ser solamente accesadas eficientemente de manera secuencial, y esto es popular en lenguajes de programación como LISP, donde el acceso a estructuras de datos de forma secuencial es muy común.

Su complejidad es difícil de calcular y depende mucho de la secuencia de incrementos que utilice.Shell Sort es un algoritmo no estable porque se puede perder el orden relativo inicial con facilidad.Es menos eficiente que los métodos Merge, Heap y Quick Sort.Realiza numerosas comparaciones e intercambios.

El ser un método constante le permite ser a su vez mu eficiente porque funciona de manera lineal a diferencia de otros métodos.

Es fácil adaptar la búsqueda secuencial para que utilice una lista enlazada, lo que hace la búsqueda más eficaz.Si los datos buscados no están en orden, es el único método que puede emplearse para hacer dichas búsquedas.

Es el método más rápido de ordenación interna.Si se escoge en cada pasada el elemento central del conjunto de datos a analizar, el número de pasadas necesarias para ordenarlo es del orden de log n.

VENTAJAS

Fácil implementación.No requiere memoria adicional.Si la lista ya ha sido ordenada se detiene.

Es a menudo la mejor opción para ordenar una lista enlazada: en esta situación es relativamente fácil implementar merge sort de manera que sólo requiera Θ(1) espacio extra, y el mal rendimiento de las listas enlazadas ante el acceso aleatorio hace

La intercalación directa es un método de ordenación inherentemente secuencial y debido a esto es muy práctico para usarse en dispositivos de almacenamiento en cinta como también en dispositivos de entrada y salida.

No requiere memoria adicional.Su eficiencia para listas de tamaño medio y pequeño.Tiene mejor rendimiento que el método de inserción directa.

El ordenamiento es constante y eficiente.Funciona en un tiempo lineal, en comparación de varios métodos de ordenamiento.Es estable,

Es un método sumamente simple que resulta útil cuando se tiene un conjunto de datos pequeños (hasta aproximadamente 500 elementos)

Requiere de pocos recursos a comparación de otros métodos de ordenamiento.El ciclo interno es extremadamente corto.No requiere de espacio adicional durante ejecución.

Page 4: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

que otros algoritmos (como Quicksort) den un bajo rendimiento, y para otros (como heapsort) sea algo imposible.

Requiere muy poca memoria y la memoria requerida no cambia con el número de elementos de datos.

preservando la orden de elementos iguales.

Page 5: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

b) De al menos 2 problemas por integrante de equipo, donde se justifique la necesidad de utilizar métodos de ordenamiento, describiendo la importancia de su utilización.

Santos González Jesús:

1.- Ahorro de tiempo a la hora de buscar los datos. Las bases de datos suelen contener una cantidad de elementos tan grande que para su localización, se demoran; por ello, en una lista de datos organizada, el tiempo de espera se reduce y resulta más eficiente a la hora de localizar algún elemento.

2.- Los maestros a la hora de tener las listas de grupo. Necesitan que estén organizadas por grupo y ordenadas de manera alfabética; esto facilita su manejo y administración de las calificaciones de los alumnos, de esa manera, resulta gráficamente más agradable a la vista, y sencillo de utilizar.

Elvis Adrián Martínez Zúñiga:

1.- Poniendo como ejemplo una base de datos muy grande como la del registro civil, que maneja tantos datos, números, nombres, etc. Es casi obligatorio o necesario el utilizar un algoritmo para ordenarlos todos, dándoles a cada uno un dato representativo que los distingue de todos los demás, ya que el tener dos datos iguales sería un problema muy grande, por ello se hace la distinción de cada uno de los registrados para su acomodo por secciones enormes que tienen sus datos propios, y en este caso en particular el ordenar todos estos archivos dentro de su base de datos es de suma importancia debido a que cada día se agregan o se retiran archivos y está constantemente cambiando y al saber en dónde irá acomodado para futuras referencias o trámites es muy importante por la cantidad de archivos enormes que manejan.

2.- En una empresa grande como por ejemplo Google se maneja una cantidad de archivos enorme, y al manejar tantos departamentos diferentes con cada una de sus responsabilidades y trabajo cada uno de ellos el poder manejar un algoritmo para ordenar todo es de suma importancia en cuanto a la eficiencia, ya que al momento de ordenarse su búsqueda se facilita mucho, ya que no puede estar en ningún otro lado que no sea en dónde el algoritmo de ordenamiento lo puso y cuando se maneja una gran cantidad de archivos y documentos o una base de datos tan grande es de suma importancia el poder acomodarlos y que a su vez el que se acomoden automáticamente siguiendo un protocolo le da mucha eficiencia al trabajo y a la empresa.

Page 6: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

Lopez Alcantar Emmanuel:

1.- Si queremos ordenar una baraja de cartas debemos buscar la manera mas eficiente de ordenamiento y muchas veces lo hacemos de manera inconsciente pero siempre utilizando algún método para ordenar de menor a mayor o a la inversa que seria de mayor a menor en cualquiera de los dos casos se podría utilizar cualquier método dependiendo de nuestras necesidades.

2.- Una librería que desea ordenar los libros por orden alfabético. En este caso con un método de ordenamiento podemos hacer que el ordenar tatos libros que pareciera muy tardado sea mucho mas rápido si contamos con el método de ordenamiento correcto con el que se pueda organizar de manera casi automática cada uno de los libros por orden alfabético que como se desea ordenar todos ellos.

Torres Rubio Edi Azarael:

1.- Un centro educativo para personas con problemas motrices. Al tener un sistema en donde guarden la información de cada persona como su particularidad, localización, números de familiares, grado, escolaridad, etc. El método de ordenamiento puede organizar a las personas dependiendo de su localidad o de algún dato específico para así mantener un control y tener la información a la mano si se llega a necesitar.

2.- Un SII de abarrotes, el sistema puede clasificar que productos son ingresados a la tienda con su debido registro, puede realizar un inventario incluso si tiene la opción puede dividir entre cuales productos tienen fecha de caducidad próxima, para sacarlos a la venta lo antes posible o si devolverlos al fabricante. Aquí el método de ordenamiento funciona dependiendo de la clasificación de los productos.

Moreno Gastelum Jose Irving:

1.-En una agencia de automóvil se les pidió registros sobre sobre los modelos de autos de sus diferentes gamas por ello se pido que el algoritmo de ordenamiento, los ordene por su precio del automóvil, a su vez también se pidió que se ordenara por su cilindraje y otra por recomendaciones y valoraciones del cliente

2.-Un Manager de un artista solicito a un desarrollador un software que listas de pendientes en la cual esta debe de cumplir con el nombre o título del asunto, lugar y hora en donde se va a realizar el asunto, y firma de él y el artista, para ello también se le pidió que pusiera número de prioridades, entre más cerca este del 1 es más su prioridad y así tener el orden de su prioridad dependiendo el asunto y así tener un orden y una administración efectiva.

Page 7: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

c) Colectar todos los programas de los diferentes métodos de ordenamiento, integrarlos en un solo programa con su respectivo menú y entregar el código, añadiendo los parámetros de medición de eficiencia de los algoritmos.

https://drive.google.com/file/d/1u-1LJdmh1cgH08CXIDQUzDSGcqz53-HB/view?usp=sharing

Page 8: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

Page 9: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

Page 10: santosjestructuradedatos.files.wordpress.com  · Web view2021. 1. 20. · [Desperdicio] Es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales

Instituto Tecnológico de Los Mochis Reporte

Conclusión del Tema

Los métodos de ordenamiento en informática son aquellos algoritmos que nos ayudan, al fin y al cabo, a llevar un orden en los datos que guardamos, para un mejor manejo y administración de los mismos.

Sea de primordial necesidad o no, siempre manejamos un orden en todo lo que hacemos, porque así es más fácil para nosotros localizar algún elemento de nuestro día a día para proseguir nuestras actividades.

Por ello, conocer los diferentes tipos de métodos para ordenar la información resulta muy útil a la hora de comparar nuestro código, sabiendo elegir el algoritmo que se acomode más a nuestros requerimientos tanto de: Entrada de datos, Cantidad de Datos y Tipo de Datos.