La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Universidad Autónoma del Estado de México

Presentaciones similares


Presentación del tema: "Universidad Autónoma del Estado de México"— Transcripción de la presentación:

1 Universidad Autónoma del Estado de México
Centro Universitario UAEM Valle de Teotihuacán FICHA DE DATOS Créditos Institucionales: Fecha 13/octubre/2017 6 créditos. Titulo de la guía para la Unidad de Aprendizaje: “Algoritmos de Ordenamiento”. Nombre del programa educativo: Licenciatura en Informática Administrativa Unidad de Aprendizaje: Estructura de Datos Espacio Académico : Centro Universitario UAEM Valle de Teotihuacán. Nombre del Responsable: M. en S.C. Jaqueline Sánchez Espinoza

2 Objetivos Identificar la estructura de los algoritmos de ordenamiento a través de interpretar el algoritmo aplicando el ordenamiento adecuado.

3 Justificación Los problemas de ordenación y búsqueda son de gran importancia para la ciencia de la computación en general y la algoritmia en particular, empleando una gran parte de su tiempo de computación en estas operaciones , representando problemas cuya descripción puede resultar fácil para el diseño y la implementación de algoritmos eficientes que los resuelven.

4 Guión Explicativo Utilizar como apoyo académico
De la diapositiva 1 a la 18 se muestra la identificación Presentación general Propósitos Competencias genéricas Estructura, secuencia didáctica Evaluación y acreditación de la unidad de aprendizaje de estructura de datos La diapositiva 19 en adelante se muestra el material que contempla la Unidad de competencia III.

5 Prerrequisitos (Conocimientos Previos)
Concepto de algoritmo Lenguajes de programación tipos de datos primitivos constantes y variables operaciones de asignación estructura general de un programa programación estructurada procedimientos y funciones manejo de lenguaje de programación

6 Identificación de la Unidad de Aprendizaje
Unidad de Aprendizaje Antecedente Programación estructurada Unidad de Aprendizaje Consecuente Programación Orientada a Objetos Unidad de Aprendizaje Consecuente Programación Orientada a Objetos

7 Presentación El estudio de las estructuras de datos se hará desde diversos puntos de vista: diseño de estructuras en respuesta a necesidades especificas, encapsulamiento de tipos de datos usándolos en base a su especificación (propiedad funcionales) y no a su implementación y estudio de los principales tipos, tanto elementales como no elementales, dividiendo estos últimos en estructuras lineales (listas, pilas, colas…) y no lineales (arboles, grafos,…), analizándolos primero desde el punto de vista teórico pero sin perder de vista sus aplicaciones practicas.

8 Propósito Evaluar las diferentes estructuras dinámicas para la representación y manipulación de información en la computadora, a través de los diferentes tipos de datos.

9 Competencias Genéricas
Diseñar, automatizar, mejorar e implementar programas con las estructuras apropiadas que coadyuven al desarrollo de software.

10 Estructura de la Unidad de Aprendizaje
UNIDAD I Programación estructurada, modularización y variables dinámicas. UNIDAD II Archivos y memoria dinámica UNIDAD III Algoritmos básicos de ordenación y búsqueda. UNIDAD IV Estructuras de datos lineales. UNIDAD V Estructuras de datos no lineales. UNIDAD VI Complejidad Computacional.

11 UNIDAD I Programación Estructurada
Secuencia Didáctica 1.1 Conceptos.   1.2 Programación Estructurada y Algoritmos.  1.3 Modularización.  1.4 Variables Dinámicas: Apuntadores Operaciones.  1.5 Arreglos unidimensionales y bidimensionales. UNIDAD I Programación Estructurada

12 UNIDAD II Archivos y memoria dinámica
Secuencia Didáctica 2.1 Control de archivo (abrir, cerrar, actualizar en los distintos modos de lectura y/o escritura). 2.2 Uso de archivos temporales. 2.3 Reservado y liberación de espacio. UNIDAD II Archivos y memoria dinámica

13 UNIDAD III Algoritmos básicos de ordenación y búsqueda
Secuencia Didáctica 3.1 Algoritmos de Burbuja. 3.2 QuickSort. 3.3 Shell. 3.4 Shell Mejorado. 3.5 Búsqueda Binaria. UNIDAD III Algoritmos básicos de ordenación y búsqueda

14 UNIDAD IV Estructuras de datos no lineales
Secuencia Didáctica 4.1 Pilas 4.2 Colas 4.3 Listas UNIDAD IV Estructuras de datos no lineales

15 UNIDAD V Estructuras de datos no lineales.
Secuencia Didáctica 5.1 Grafos 5.2 Árboles 5.3 Árboles Binarios UNIDAD V Estructuras de datos no lineales.

16 UNIDAD VI Complejidad Computacional
Secuencia Didáctica 6.1 Conceptos Básicos 6.2 Problemas O 6.3 Problemas P-NP 6.4 Ejemplos UNIDAD VI Complejidad Computacional

17 Evaluación y Acreditación
ESCALA DE EVALUACIÓN EN PARCIALES 30% Ejercicios prácticos. 30% Evaluación continua. 40% Evaluación parcial ESCALA DE EVALUACIÓN ORDINARIA 50% Entrega de proyecto final. 50% Evaluación ordinaria. EXENTAR El alumno exenta con 9.0 en promedio de los dos parciales. REQUISITOS PARA PRESENTAR EVALUACIÓN ORDINARIA Tener 80% de asistencias en los dos parciales. Un promedio no menor a 6.0 en evaluaciones parciales.

18 Contenido Introducción. Algoritmo Burbuja.
1 Introducción. 2 Algoritmo Burbuja. 3 Algoritmo sacudida (shakesort). 4 Algoritmo inserción. 5 Algoritmo selección. 6 Algoritmo (Quicksort). 7 Idea de Quick Sort. 8

19 Introducción Ordenación o clasificación es el proceso de reordenar un conjunto de objetos en un orden específico. El propósito de la ordenación es facilitar la búsqueda de elementos en el conjunto ordenado.

20 Introducción Métodos de Ordenamiento Ordenación de ficheros.
Ordenación de arrays.

21 Introducción El problema del ordenamiento puede establecerse mediante la siguiente acción: Dados los elementos: Ordenar consiste en permutar esos elementos en un orden: tal que dada una función de ordenamiento f:

22 Introducción En lo que sigue se considera que la estructura lineal (array, lista, vector o secuencia) a ordenar se representa por un array de objetos (números enteros): int a[ ] = new int[MAX]; Siendo MAX el número máximo de elementos del array. El orden de los elementos después de la ordenación se considera ascendente.

23 Algoritmo burbuja Comparación e intercambio de pares de elementos hasta que todos los elementos estén ordenados. En cada iteración se coloca el elemento más pequeño (orden ascendente) en su lugar correcto, cambiándose además la posición de los demás elementos del array.

24 Algoritmo burbuja

25 Algoritmo burbuja

26 Algoritmo burbuja

27 Algoritmo burbuja

28 Algoritmo burbuja

29 Algoritmo burbuja for(i=n;i>0;i--) for(j=0;j<i-1;j++) if (a[j] > a[j+1]) { t=a[j]; a[j] = a[j+1]; a[j+1]=t; ninterc++; }

30 Algoritmo sacudida (shakesort)
Es una mejora del algoritmo de burbuja en el que se registra la ocurrencia de un intercambio y el índice del último intercambio y se alterna la dirección de las pasadas consecutivas.

31 Algoritmo sacudida (shakesort)
l=k+1; for(j=l; j<=r; j++) if (a[j-1]>a[j]) { t=a[j-1]; a[j-1] = a[j]; a[j]=t; k=j; ninterc++; } r=k-1; while (l<r); l=1; r=n-1; k=n-1; do { for(j=r; j>=l; j--) if (a[j-1]>a[j]) t=a[j-1]; a[j-1] = a[j]; a[j]=t; k=j; ninterc++; }

32 Algoritmo inserción Los elementos están divididos en una secuencia destino y una secuencia fuente En cada paso, comenzando con i=2 e incrementando i en uno, el elemento i-ésimo de la secuencia fuente se toma y se transfiere a la secuencia destino insertándolo en el lugar adecuado

33 Algoritmo inserción

34 Algoritmo inserción

35 Algoritmo inserción

36 Algoritmo inserción

37 Algoritmo inserción

38 Algoritmo inserción

39 Algoritmo inserción

40 Algoritmo inserción

41 Algoritmo inserción for(i=1;i<n;i++) { j=i-1; t=a[i]; while (j>=0 && t<a[j]) a[j+1] = a[j]; j=j-1; } a[j+1]=t;

42 Algoritmo selección En éste método, en el i-ésimo paso seleccionamos el elemento con la llave de menor valor, entre a[i],…, a[n] y lo intercambiamos con a[i]. Como resultado, después de i pasadas, el i-ésimo elemento menor ocupará a[1],…, a[i] en el lugar ordenado.

43 Algoritmo selección

44 Algoritmo selección

45 Algoritmo selección

46 Algoritmo selección

47 Algoritmo selección

48 Algoritmo selección

49 Algoritmo selección

50 Algoritmo selección

51 Algoritmo selección for(i=0;i<n-1;i++) { k=i; t=a[i]; for (j=i+1; j<n; j++) if (a[j] < t) t= a[j]; k=j; } a[k]= a[i]; a[i]= t;

52 Algoritmo (Quicksort)
Seleccionar un valor de división (L por ejemplo) y dividir el montón en dos pilas, A-L y M-Z. Después se toma la primera pila y se subdivide en dos, A-F y G-L por ejemplo. A su vez la pila A-F puede subdividirse en A-C y D-F. Este proceso continúa hasta que las pilas sean suficientemente pequeñas para ordenarlas fácilmente. El mismo proceso se aplica a la otra pila.

53 Idea de Quick Sort 1) Selección: tomar un elemento.
2) Dividir: reordenar los elementos tal que x va a su posición final E. 3) Recursión y vencer: ordenar recursivamente.

54 Algoritmo (Quicksort)
void qsort(int izq, int der, int a[]) { int i, ult, m, tmp; if (izq >= der) return; tmp= a[izq]; m= (izq+der)/2; a[izq]= a[m]; a[m]=tmp; ult=izq; for (i=izq+1;i<=der;i++) if (a[i] < a[izq]) { tmp= a[++ult]; a[ult]= a[i]; a[i]=tmp; } tmp= a[izq]; a[izq]= a[ult]; a[ult]=tmp; qsort(izq,ult-1,a); qsort(ult+1,der,a);

55 Bibliografía Franch G. (2001) Estructuras de Datos. Especificación, Diseño e Implementación. México: Editorial UPC. Martí O. (2003) Estructura de datos y algoritmos. Ejercicios y problemas resueltos. Caracas: Editorial Pearson Prentice Hall. Cairó O. (2006) Estructura de Datos. México: Editorial Mc Graw Hill. Hernández, R. Estructura de Datos y Algoritmos. México: Editorial Prentice Hall.


Descargar ppt "Universidad Autónoma del Estado de México"

Presentaciones similares


Anuncios Google