Algoritmos de Ordenamiento
|
|
|
- Purificación Herrero Carrasco
- hace 9 años
- Vistas:
Transcripción
1 Algoritmos de Ordenamiento mat-151 Alonso Ramírez Manzanares Computación y Algoritmos 12.04
2 Algoritmos de ordenamiento Entrada: secuencia <a1, a2,..., an> de números. Salida: permutación <a 1, a 2,..., a n> tal que a 1 a 2... a n. Ejemplo: entrada: salida: Alonso Ramírez Manzanares Computación y Algoritmos
3 Algortimos de ordenamiento algoritmos para arreglar elementos de una lista en cierto orden. los ordenes más comunes son numérico y lexicográfico. El orden lexicográfico no es igual al orden numérico Si a = [19], b = [138] tenemos b < a, porque el prefijo es a1 = b1 = 1 y b2 = 3 < a2 = 9 la salida debe satisfacer dos condiciones: la salida debe encontrarse en orden no-decreciente. la salida es una permutación o re-ordenamiento de la entrada. los elementos pueden ordenarse respecto a una o más llaves o claves (keys) clave primaria claves secundarias Alonso Ramírez Manzanares Computación y Algoritmos
4 Algoritmos de ordenamiento Un método de ordenamiento se dice estable si conserva el orden relativo de los elementos con claves duplicadas en el archivo. Ejemplo: llave (key) Aviña 1 Burrón 2 Barranco 4 Jiménez 2 Jaramillo 4 López 1 Martínez 4 Miranda 2 Nuñez 3 Pérez 3 Aviña 1 López 1 Miranda 2 Burrón 2 Jiménez 2 Pérez 3 Nuñez 3 Martínez 4 Barranco 4 Jaramillo 4 Aviña 1 López 1 Burrón 2 Jiménez 2 Miranda 2 Nuñez 3 Pérez 3 Barranco 4 Jaramillo 4 Martínez 4 Alonso Ramírez Manzanares Computación y Algoritmos
5 Algoritmos de ordenamiento Una medida útil para analizar la entrada del algoritmo es el número de inversiones: el número de pares de enteros (i,j), tales que i<j y ki > kj. Ejemplos: la secuencia Charlie, Alpha, Bravo tiene dos inversiones. la secuencia Charlie, Bravo, Alpha tiene tres inversiones. cuando las claves están en orden, el número de inversiones es 0. cuando están en orden reverso (i.e. cada par está en el orden equivocado) el número de inversiones es N(N-1)/2, que es el número de pares de claves. Alonso Ramírez Manzanares Computación y Algoritmos
6 Algoritmos de ordenamiento O( n 2 ) O(n log n) bubble sort quicksort selection sort mergesort insertion sort heapsort shell sort Alonso Ramírez Manzanares Computación y Algoritmos
7 Bubble sort Idea: Recorrer un conjunto de datos comparando pares de elementos. Si el primero es mayor al segundo, invertir sus lugares. Repetir el procedimiento hasta recorrer todo el conjunto. Opcionalmente. El procedimiento se repite hasta que en la iteración anterior no se encuentran operaciones de intercambio. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
8 Bubble sort qué pasa con los elementos grandes? y con los pequeños? los grandes van muy rápido a su lugar en el orden (burbujas, conejos) los pequeños se hunden lentamente (tortugas) cuál es el mejor caso? cuando los elementos están ordenados cuál es su complejidad? cerca de O(n 2 ) Alonso Ramírez Manzanares Computación y Algoritmos
9 Bubble sort Ventajas: Es muy simple y fácil de implementar Desventajas: es el algoritmo más lento e ineficiente entre los algoritmos de ordenamiento. Alonso Ramírez Manzanares Computación y Algoritmos
10 Bubble sort: ejemplo de implementación Alonso Ramírez Manzanares Computación y Algoritmos
11 Bubble sort: ejemplo de implementación Alonso Ramírez Manzanares Computación y Algoritmos
12 Bubble sort Aqui esta invertido, primero se ordenan los de llave mas pequeña, pero es exactamente la misma idea Alonso Ramírez Manzanares Computación y Algoritmos
13 Bubble sort Alonso Ramírez Manzanares Computación y Algoritmos
14 Selection sort Idea: Recorrer un conjunto de datos encontrando el elemento más pequeño. Ponerle al principio del conjunto ordenado. Repetir el procedimiento con los elementos restantes del conjunto. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
15 Selection sort Idea: Recorrer un conjunto de datos encontrando el elemento más pequeño. Ponerle al principio del conjunto ordenado. Repetir el procedimiento con los elementos restantes del conjunto. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
16 Selection sort Su tiempo de cálculo no depende del orden de los elementos de entrada. Cuántas comparaciones requiere? Cuántos intercambios requiere? (n-1)+(n-2)+(n-3) = n(n-1)/2 = Θ(n 2 ) (n-1) = Θ(n) Se puede usar en arreglos o en listas ligadas, borrando e insertando al elemento en el primer lugar. Alonso Ramírez Manzanares Computación y Algoritmos
17 Selection sort Ventajas: Es muy simple y fácil de implementar. Es alrededor de 60% más rápido que bubble sort en el peor caso. Es útil en el caso que la escritura sea la operación más costosa. Desventajas: Es ineficiente para conjuntos grandes de elementos. Alonso Ramírez Manzanares Computación y Algoritmos
18 Selection sort: ejemplo de implementación Alonso Ramírez Manzanares Computación y Algoritmos
19 Selection sort: ejemplo de implementación Alonso Ramírez Manzanares Computación y Algoritmos
20 Selection sort Alonso Ramírez Manzanares Computación y Algoritmos
21 Selection sort Alonso Ramírez Manzanares Computación y Algoritmos
22 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
23 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
24 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
25 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
26 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
27 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
28 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
29 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
30 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
31 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
32 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
33 Insertion sort Idea: Tomar los elementos de la lista uno a uno e insertarlos el orden correspondiente. Ejemplo: Alonso Ramírez Manzanares Computación y Algoritmos
34 Insertion sort cuál es el mejor caso? una lista ordenada: O(n) por iteración cuál es el peor caso? una lista ordenada inversamente: O(n 2 ) Alonso Ramírez Manzanares Computación y Algoritmos
35 Insertion sort Ventajas: Es muy simple y fácil de implementar. Eficiente en conjuntos de datos pequeños Eficiente en conjuntos de datos casi ordenados u ordenados. Estable El tiempo de ejecución depende de la entrada: una secuencia que ya está ordenada tomará menos tiempo. Desventajas: Es ineficiente para conjuntos grandes de elementos. Alonso Ramírez Manzanares Computación y Algoritmos
36 Insertion sort Alonso Ramírez Manzanares Computación y Algoritmos
37 Insertion sort Alonso Ramírez Manzanares Computación y Algoritmos
38 Insertion sort Alonso Ramírez Manzanares Computación y Algoritmos
39 Insertion sort Alonso Ramírez Manzanares Computación y Algoritmos
40 Algoritmos de ordenamiento En general su tiempo de cálculo es proporcional a: el número de operaciones de comparación el número de operaciones de intercambio ambos Con entradas aleatorias el tiempo de cálculo varía por una constante (siendo los tres de complejidad O(n 2 ). Alonso Ramírez Manzanares Computación y Algoritmos
41 Algoritmos de ordenamiento TAREA: REVISAR ESTAS PROPIEDADES Propiedad 1: Bubble sort toma cerca de N 2 /2 comparaciones y N 2 /2 intercambios en promedio y en el peor caso. Propiedad 2: Selection sort toma cerca de N 2 /2 comparaciones y N intercambios. Propiedad 3: Insertion sort toma cerca de N 2 /4 comparaciones y N 2 /4 movimientos en promedio, y el doble en el peor caso. Alonso Ramírez Manzanares Computación y Algoritmos
42 Shell sort Idea: Mejorar el algoritmo de insertion sort moviendo más de un lugar a la vez. arreglar el conjunto de elementos en una tabla y arreglar las columnas. repetir el proceso cada vez con menos columnas pero más largas. al final quedará una sola columna Ejemplo: con un tamaño de paso de 5,3 y 1 Alonso Ramírez Manzanares Computación y Algoritmos
43 Ejemplo shell sort Si comenzamos con un tamaño de paso de 5, podríamos visualizar esto dividiendo la lista de números en una tabla con 5 columnas. Esto quedaría así: Entonces ordenamos cada columna, lo que nos da Alonso Ramírez Manzanares Computación y Algoritmos
44 Shell sort Alonso Ramírez Manzanares Computación y Algoritmos
45 Shell sort qué secuencia de incrementos usar para optimalidad? problema dificil y ampliamente estudiado en práctica funcionan bien secuencias que decrecen geométricamente (cada incremento la mitad del anterior), entonces el número de incrementos es logarítmico en el tamaño de la entrada. Alonso Ramírez Manzanares Computación y Algoritmos
46 Shell sort Algoritmo difícil de analizar Más difícil de implementar que los vistos anteriormente. Mejora el desempeño de insertion sort Su desempeño depende de la secuencia de incrementos. Alonso Ramírez Manzanares Computación y Algoritmos
47 Shell sort Ventajas: Eficiente para conjuntos de elementos medianos (típicamente menores a 1000 elementos) Desventajas: Complejo para analizar y no se acerca a la eficiencia de merge, heap y quick sorts. Alonso Ramírez Manzanares Computación y Algoritmos
48 Shell sort Alonso Ramírez Manzanares Computación y Algoritmos
49 Complejidad de diferentes algoritmos de ordenamiento Alonso Ramírez Manzanares Computación y Algoritmos
50 Algoritmos de ordenamiento de complejidad O(n 2 ) fáciles de implementar útiles para prototipaje rápido cuando los elementos a ordenar son muy pocos cuando se requiere ordenar pocas veces. Alonso Ramírez Manzanares Computación y Algoritmos
51 Tarea, modificar bubble sort Alonso Ramírez Manzanares Computación y Algoritmos
52 Tarea, modificar bubble sort Alonso Ramírez Manzanares Computación y Algoritmos
53 Algoritmos de ordenamiento de complejidad O(n 2 ) Nombre Caso promedio Peor caso Memoria utilizada Estabilidad Método Bubble sort - O(n 2 ) O(1) Si Comparación e intercambio Selection sort O(n 2 ) O(n 2 ) O(1) No Selección Insertion sort O(n+d) donde d es el número de inversiones. O(n 2 ) O(1) Si Inserción Shell sort - O(n 2 ) depende de la secuencia de incremento O(1) No Inserción Alonso Ramírez Manzanares Computación y Algoritmos
54 Algoritmos de ordenamiento métodos para ordenar archivos o elementos que contengan claves. ordenar los elementos de tal modo que las claves estén ordenadas de acuerdo a una regla de orden dada. implementados con arreglos o con listas ligadas. sorting no-adaptativo: independiente a la estructura y orden de los datos de entrada. sorting adaptativo: operaciones dependientes del orden de la entrada hasta el momento. Alonso Ramírez Manzanares Computación y Algoritmos
55 Algoritmos de ordenamiento un ordenamiento que se lleva a cabo enteramente en la memoria primaria se conoce como ordenamiento interno. aquellos que involucran discos auxiliares para guardar resultados intermedios se conocen como ordenamientos externos. Alonso Ramírez Manzanares Computación y Algoritmos
Notación Asintótica 2
Notación Asintótica 2 mat-151 1 Éxamen Rápido (6 minutos) Cada operación fundamental usa c milisegundos, cuánto tiempo toma contar hasta 1,000,000? Cuál es el valor de N? Cuál es el órden de complejidad
Tema: Métodos de Ordenamiento. Parte 1.
Programación IV. Guía 2. 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Métodos de Ordenamiento. Parte 1. Objetivos Específicos Identificar la estructura de algunos algoritmos
Sorting++ Herman Schinca. Clase 21. 10 de Junio de 2011
Sorting++ Herman Schinca Clase 21 10 de Junio de 2011 Recordando Ya vimos 3 algoritmos de ordenamiento basados en la comparación entre elementos: Selection, Insertion y Bubble. Los 3 en peor caso (cuando
Algoritmos: Algoritmos sobre secuencias y conjuntos de datos
Algoritmos: Algoritmos sobre secuencias y conjuntos de datos Alberto Valderruten LFCIA - Departamento de Computación Facultad de Informática Universidad de A Coruña, España www.lfcia.org/alg www.fi.udc.es
Algoritmos de Ordenamiento
Algoritmos de Ordenamiento Fernando A. Lagos B. Copyleft 2007 INDICE 1 Introducción Pág. 3 2 Tipos de Algoritmos Pág. 4 2.1 Algoritmos iterativos Pág. 5 2.2 Algoritmos recursivos Pág. 6 3 Método de la
Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013
Técnicas de diseño de algoritmos Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2013 Técnicas de diseño de algoritmos Algoritmos golosos Backtracking (búsqueda con retroceso) Divide and conquer
ARREGLOS DEFINICION GENERAL DE ARREGLO
ARREGLOS DEFINICION GENERAL DE ARREGLO Conjunto de cantidades o valores homogéneos, que por su naturaleza se comportan de idéntica forma y deben de ser tratados en forma similar. Se les debe de dar un
Cómo ordenar una lista de números?
Cómo ordenar una lista de números? Germán Ariel Torres Resumen. Este trabajo trata acerca de métodos y técnicas usadas para el ordenamiento eficiente de listas de números. Se analizan los métodos básicos,
La eficiencia de los programas
La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos
Ampliación de Estructuras de Datos
Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios
Análisis asintótico: algoritmos recursivos e iterativos
Análisis asintótico: algoritmos recursivos e iterativos Frank Sebastián Franco Hernández 22 de agosto de 2014 1. Análisis de tres algoritmos de ordenamiento 1.1. Algoritmo BubbleSort Este algoritmo funciona
Capítulo 3 Ordenación(Clasificación) y Búsqueda
Capítulo 3 Ordenación(Clasificación) y Búsqueda 3.1 Ordenamiento Interno Los computadores emplean gran parte de su tiempo en operaciones de búsqueda y ordenamiento. Existen 2 métodos de ordenación: ordenación
Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Análisis probabilístico y Algoritmos Aleatorizados
Análisis probabilístico y Algoritmos Aleatorizados Andrés Becerra Sandoval Ponticia Universidad Javeriana 14 de julio de 2007 Lenguajes III Introducción La probabilidad puede ayudarnos a medir la complejidad
Algoritmos de Búsqueda y Ordenamiento
Departamento de Informática Universidad Técnica Federico Santa María Algoritmos de Búsqueda y Ordenamiento Programación de Computadores IWI--p Prof.: Teddy Alfaro Olave Algoritmos de Búsqueda Los procesos
ANEXO 1. CONCEPTOS BÁSICOS. Este anexo contiene información que complementa el entendimiento de la tesis presentada.
ANEXO 1. CONCEPTOS BÁSICOS Este anexo contiene información que complementa el entendimiento de la tesis presentada. Aquí se exponen técnicas de cálculo que son utilizados en los procedimientos de los modelos
El TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Algoritmos y Programación Clase 8
Algoritmos y Programación Ordenamiento y Búsqueda Anexo: Uso de Procedimientos Sub y Procedimientos Function 1 EXAMEN 1. Lunes 16 de abril 4 pm. 2. Tema: Lo visto hasta la clase de hoy. 2 Contenido Ordenamiento
MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS
MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS MÁS EJEMPLOS DE OPERACIONES ARITMÉTICAS EN DIFERENTES SISTEMAS NUMÉRICOS. AUTOR: JOSÉ ALFREDO JIMÉNEZ MURILLO AVC APOYO VIRTUAL PARA EL CONOCIMIENTO
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
NOTACIÓN O GRANDE. El análisis de algoritmos estima el consumo de recursos de un algoritmo.
NOTACIÓN O GRANDE El análisis de algoritmos estima el consumo de recursos de un algoritmo. Esto nos permite comparar los costos relativos de dos o más algoritmos para resolver el mismo problema. El análisis
la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.
ALGORITMOS SECUENCIALES: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente
Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav
Sistemas Operativos Dr. Luis Gerardo de la Fraga E-mail: [email protected] http://cs.cinvestav.mx/~fraga Departamento de Computación Cinvestav 12 de junio de 2015 Dr. Luis Gerardo de la Fraga Cinvestav,
<tipo> Tipo de dato de los elementos del vector
Vectores y matrices Declaración Vector (array unidimiensional): []; Tipo de dato de los elementos del vector Identificador de la variable.
7.4. UTILIDADES DE LAS PILAS
7.4. UTILIDADES DE LAS PILAS o Llamadas a subprogramas o Paso de programas recursivos a iterativos o Un caso especial, quick_sort iterativo. o Equilibrado de símbolos o Tratamiento de expresiones aritméticas
Análisis de rendimiento de algoritmos paralelos
Análisis de rendimiento de algoritmos paralelos Joaquín Andrés López Molina [email protected] Daniel Mauricio Rodríguez Alpizar [email protected] Estudiantes de Ingeniería en Computación
Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Complejidad de Algoritmos
Complejidad de Algoritmos Tema 5 Introducción Un algoritmo es una secuencia de instrucciones que resuelve un problema Puede tener diferentes implementaciones Para comparar las diferentes formas (algoritmos)
Programación en java. Estructuras algorítmicas
Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica
OPTIMIZACIÓN VECTORIAL
OPTIMIZACIÓN VECTORIAL Métodos de Búsqueda Directa Utilizan sólo valores de la función Métodos del Gradiente Métodos de Segundo Orden Requieren valores aproimados de la primera derivada de f) Además de
7. Poblar base de datos a partir de documentos XML validados con esquemas XML
7. Poblar base de datos a partir de documentos XML validados con esquemas XML En este capítulo se aborda el tema de la población de la base de datos que se creó con el constructor automático de bases de
Julio Deride Silva. 27 de agosto de 2010
Estadística Descriptiva Julio Deride Silva Área de Matemática Facultad de Ciencias Químicas y Farmcéuticas Universidad de Chile 27 de agosto de 2010 Tabla de Contenidos Estadística Descriptiva Julio Deride
Álgebra Booleana y Simplificación Lógica
Álgebra Booleana y Simplificación Lógica M. en C. Erika Vilches Parte 2 Simplificación utilizando Álgebra Booleana Simplificar la expresión AB + A(B + C) + B(B + C) 1. Aplicar la ley distributiva al segundo
Planificaciones Algoritmos y Programación II. Docente responsable: CALVO PATRICIA MABEL. 1 de 6
Planificaciones 7504 - Algoritmos y Programación II Docente responsable: CALVO PATRICIA MABEL 1 de 6 OBJETIVOS Que el alumno maneje de modo correcto el diseño de un TDA de acuerdo a las exigencias de una
Práctica 4 El algoritmo QuickSort, comparación de algoritmos de ordenación
Práctica 4 El algoritmo QuickSort, comparación de algoritmos de ordenación Estructuras de datos y algoritmos Facultad de Informática curso 2008-2009 Introducción El objetivo de esta práctica consiste en
Programación. Tema 8: Tablas Hash. Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el????
Programación. Tema : Tablas Hash /Mayo/ Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el???? Tema : Tabla Hash Las tabla hash aparece para conseguir
Tabla de Símbolos. Programación II Margarita Álvarez
Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados
1) Recuerde la definición de cada uno de los siguientes conjuntos numéricos:
Repaso Prueba-01 Clase-14 1) Recuerde la definición de cada uno de los siguientes conjuntos numéricos: i) Números naturales: IN = { iii) Los números enteros: Z = { iv) Los números Racionales: Q = { v)
Capítulo 1: Conceptos Básicos de Bases de Datos
Capítulo 1: Conceptos Básicos de Bases de Datos Dr. José Torres Jiménez Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del IPN Cinvestav-Tamaulipas Dr. José Torres
ALGORITMOS DE ORDENACIÓN Y BÚSQUEDA
6 ALGORITMOS DE ORDENACIÓN Y BÚSQUEDA OBJETIVOS Después del estudio de este capítulo usted podrá: Conocer los algoritmos basados en el intercambio de elementos. Conocer el algoritmo de ordenación por inserción.
Integrantes. Leonardo Herrera Cristian Fernandez Jorge A Mondragón. Análisis y Diseño de Algoritmos. Docente Diana Mabel Díaz Herrera.
Integrantes Leonardo Herrera Cristian Fernandez Jorge A Mondragón Análisis y Diseño de Algoritmos Docente Diana Mabel Díaz Herrera HeapSort Universidad Piloto de Colombia Facultad de Ingeniería de Sistemas
Análisis y síntesis de sistemas digitales combinacionales
Análisis Algoritmo de análisis, para un circuito lógico combinacional Síntesis. Conceptos Circuitos combinacionales bien construidos Circuitos combinacionales mal construidos Criterios de optimización
Estructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Estándares de Contenido y Desempeño, Estándares de Ejecución y Niveles de Logro Marcado* MATEMÁTICA
Estándares de Contenido y Desempeño, Estándares de Ejecución y Niveles de Logro Marcado* MATEMÁTICA * Se distinguen con negrita en el texto. ESTÁNDAR DE CONTENIDO Y DESEMPEÑO Nº 1 Conocer la estructura
FUNCIONES EXPONENCIALES y LOGARITMICAS FUNCIONES EXPONENCIALES
Ingeniería en Sistemas de Información 01 FUNCIONES EXPONENCIALES LOGARITMICAS La función eponencial FUNCIONES EXPONENCIALES La función eponencial es de la forma, siendo a un número real positivo. El dominio
Estructuras Repetitivas
Estructuras Repetitivas Se solicita al operador que ingrese tres números enteros cualesquiera. En base a estos números, mostrar por pantalla cual es el mayor de todos. Diag. De Flujos Pseudocódigo Matlab
Inversas de las matrices triangulares superiores
Inversas de las matrices triangulares superiores Ejercicios Objetivos. Demostrar que la inversa a una matriz triangular superior también es triangular superior. Requisitos. Algoritmo de inversión de una
Conceptos básicos de bases de datos
Conceptos básicos de bases de datos 1.1 Definición de base de datos Una base de datos es una colección de archivos relacionados que permite el manejo de la información de alguna compañía. Cada uno de dichos
Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
lasmatemáticas.eu Pedro Castro Ortega materiales de matemáticas
1. Fracciones Una fracción es una expresión del tipo a b, donde a y b son números naturales llamados numerador y denominador, respectivamente. 1.1. Interpretación de una fracción a) Fracción como parte
Optimización. Búsqueda en una Dimensión ITESM. Búsqueda en una Dimensión Profr. E. Uresti - p. 1/19. Dr. E Uresti
Optimización Búsqueda en una Dimensión Dr. E Uresti ITESM Búsqueda en una Dimensión Profr. E. Uresti - p. 1/19 Algunos de los métodos numéricos de búsqueda de óptimos de una función en varias variables
Variables aleatorias
Distribuciones continuas Se dice que una variable aleatoria X tiene una distribución continua, o que X es una variable continua, si existe una función no negativa f, definida sobre los números reales,
Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:
Práctica 4 Organización del Computador 1 12 de septiembre de 2005 Algunas consideraciones preliminares: Donde aparece xxxxxxxx quiere decir que el valor correcto ya está en esa dirección de memoria Todos
Capítulo1. Estructuras Fundamentales de Datos
Capítulo1 Estructuras Fundamentales de Datos Introducción Con el propósito de que la computadora procese la información esta debe ser almacenada en la memoria. De acuerdo con la forma en que los datos
2.5.1. Procesamiento de documentos XML.
2.5.1. Procesamiento de documentos XML. Un analizador o parser XML es una herramienta encargada de leer documentos XML [17], poder acceder a sus elementos y comprobar si el documento es sintácticamente
Diagrama temporal de un programa simple. Multi-Programación con dos programas
Diagrama temporal de un programa simple Multi-Programación con dos programas Multi-Programación con tres programas Gestión de la Memoria Mono-programación La memoria se divide en dos partes: Una para el
Curso de Estadística Básica
Curso de SESION 3 MEDIDAS DE TENDENCIA CENTRAL Y MEDIDAS DE DISPERSIÓN MCC. Manuel Uribe Saldaña MCC. José Gonzalo Lugo Pérez Objetivo Conocer y calcular las medidas de tendencia central y medidas de dispersión
Criptografía y Seguridad de Datos Introducción a la Criptografía: Confidencialidad de los mensajes
Criptografía y Seguridad de Datos Introducción a la Criptografía: Confidencialidad de los mensajes Carlos Figueira. Carlos Figueira. Universidad Simón Bolívar Basado en láminas del Profesor Henric Johnson
Diseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos 1 Sesión No. 11 Nombre: Estructuras algorítmicas. Tercera parte. Objetivo de la sesión: Al concluir la sesión el estudiante aplicará las estructuras algorítmicas repetitivas
Programación de Sistemas
Programación de Sistemas Algoritmos de Ordenación Índice Por qué es importante la ordenación? Un par de ejemplos InsertionSort QuickSort Para cada uno veremos: En qué consisten, Casos extremos Eficiencia
Generación de Variables Aleatorias. UCR ECCI CI-1453 Investigación de Operaciones Prof. M.Sc. Kryscia Daviana Ramírez Benavides
Generación de Variables Aleatorias UCR ECCI CI-453 Investigación de Operaciones Prof. M.Sc. Kryscia Daviana Ramírez Benavides Introducción Las variables aleatorias se representan por medio de distribuciones
MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6
MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6 NOMBRE DE LA PRÁCTICA. Estructuras secuénciales 6.1 OBJETIVO GENERAL El alumno desarrollará la habilidad para diseñar algoritmos secuenciales,
Ecuaciones Diofánticas
2 Ecuaciones Diofánticas (c) 2011 leandromarin.com 1. Introducción Una ecuación diofántica es una ecuación con coeficientes enteros y de la que tenemos que calcular las soluciones enteras. En este tema
Problemas de Recursividad
Problemas de Recursividad Problema 1. El factorial de un número entero n 0, denotado como n!, se define! como!!! i = 1 2 n cuando n > 0, y 0! = 1. Por ejemplo 6! = 1 2 3 4 5 6 = 720 Diseñad una método
Árboles binarios de búsqueda ( BST )
Árboles binarios de búsqueda ( BST ) mat-151 Alonso Ramírez Manzanares Computación y Algoritmos 24.04.2015 Arbol Binario de Búsqueda Un árbol binario de búsqueda (Binary Search Tree [BST]) es un árbol
Herramientas computacionales para la matemática MATLAB: Estructuras de control
Herramientas computacionales para la matemática MATLAB: Estructuras de control Verónica Borja Macías Mayo 2012 1 Estructuras de control ESTRUCTURAS DE REPETICIÓN: BUCLES Los bucles permiten repetir las
TEORÍA DE GRAFOS Ingeniería de Sistemas
TEORÍA DE GRAFOS Ingeniería de Sistemas Código: MAT-31114 AUTORES Ing. Daniel Zambrano Ing. Viviana Semprún UNIDADES DE LA ASIGNATURA» UNIDAD I. Relaciones» UNIDAD II. Estructuras Algebraicas» UNIDAD III.
Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:
MICROSOFT ACCESS DEFINICIÓN MS Access es un programa para manejar bases de datos. Una base de datos es un conjunto de datos de un determinado tema o contexto, almacenados de forma sistemática, para obtener
Sistemas de Ecuaciones. Lineales I
Sistemas de Ecuaciones Lineales I Preliminares: Expresión matricial. Dificultades numéricas. 521230-1 - DIM Universidad de Concepción Expresión matricial Todo sistema de ecuaciones lineales puede escribirse
COSO I Y COSO II. LOGO
COSO I Y COSO II. Qué es C.O.S.O? Committee of Sponsoring Organizatión of the Treadway Commission C O S O Qué es COSO? Organización voluntaria del sector privado, establecida en los EEUU, dedicada a proporcionar
GUIA DE USO GRAPHMATICA
GUIA DE USO GRAPHMATICA Ingreso de funciones a. El ingreso de funciones se hace en el renglón blanco de entrada. Autor: Gustavo Rodriguez Para ingresar una ecuación se puede realizar en la forma explícita
Lección 5.1: Matrices y determinantes. Primeros conceptos. Objetivos de esta lección
Matemáticas Tema 5: Conceptos básicos sobre matrices y vectores Objetivos Lección 5.: y determinantes Philippe Bechouche Departamento de Matemática Aplicada Universidad de Granada 3 4 [email protected] 5 Qué
FORMATO CONDICIONAL EN EXCEL
FORMATO CONDICIONAL EN EXCEL El Formato Condicional es una herramienta muy útil como información gráfica adicional para los datos numéricos que están en celdas o en rangos. Este tipo de formato tiene un
INSTITUCION EDUCATIVA LA PRESENTACION
INSTITUCION EDUCATIVA LA PRESENTACION NOMBRE ALUMNA: AREA : MATEMATICAS ASIGNATURA: MATEMATICAS DOCENTE: HUGO HERNAN BEDOYA Y LUIS LOPEZ TIPO DE GUIA: NIVELACION PERIODO GRADO FECHA DURACION 8 A/B Abril
ESTADÍSTICA DESCRIPTIVA
ESTADÍSTICA DESCRIPTIVA Medidas de tendencia central y de dispersión Giorgina Piani Zuleika Ferre 1. Tendencia Central Son un conjunto de medidas estadísticas que determinan un único valor que define el
CAPÍTULO 4 TÉCNICA PERT
54 CAPÍTULO 4 TÉCNICA PERT Como ya se mencionó en capítulos anteriores, la técnica CPM considera las duraciones de las actividades como determinísticas, esto es, hay el supuesto de que se realizarán con
Ejercicio de algoritmia resuelto con Visual Basic: ordenar series de series de números. (CU00356A)
aprenderaprogramar.com Ejercicio de algoritmia resuelto con Visual Basic: ordenar series de series de números. (CU00356A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor:
INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje
INDICE Prólogo XV Parte 1. Visual Basic 1 Capitulo 1. Qué es Visual Basic? 3 Introducción 3 Como crear una aplicación 5 Otras facilidades de Visual Basic 6 Un lenguaje de alto nivel 9 Menús 10 Colores
POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA
Introducción a la programación
Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una
Esquema de cifrado DES
Esquema de cifrado DES DES es un esquema de cifrado en bloque que opera sobre bloques de texto de 64 bits, devolviendo bloques cifrados también de 64 bits. Así pues, DES sobre 2 64 posibles combinaciones
Algoritmos de Búsqueda y Ordenación. Rosalía Laza Fidalgo. Departamento de Informática. Universidad de Vigo
Algoritmos de Búsqueda y Ordenación. Rosalía Laza Fidalgo. Departamento de Informática. Universidad de Vigo Complejidad Cómo podemos medir y comparar algoritmos, si estos se ejecutan a distintas velocidades
Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5
Planificaciones 7540 - Algoritmos y Programación I Docente responsable: AZCURRA DIEGO ANDRES 1 de 5 OBJETIVOS Objetivos estratégicos: -Desarrollar el concepto algorítmico. -Aplicar técnicas de programación
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia
CARRERA DE INGENIERÍA CIVIL EN INFORMÁTICA COMPETENCIAS ESPECÍFICAS Y SUS NIVELES DE DOMINIO
CARRERA DE INGENIERÍA CIVIL EN INFORMÁTICA COMPETENCIAS ESPECÍFICAS Y SUS NIVELES DE DOMINIO Responsables Prof. Oriel Herrera Gamboa Prof. Marcela Schindler Nualart Prof. Gustavo Donoso Montoya Prof. Alejandro
: Algorítmica y Estructura de Datos I
FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria
FACTORIZACIÓN. De acuerdo con lo anterior, el resultado de una factorización siempre será un producto.
FACTORIZACIÓN. Factorizar consiste como su nombre lo indica, en obtener factores y como factores los elementos de una multiplicación, entonces factorizar es convertir una suma en una multiplicación indicada
Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.
Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete
1. Sea A una matriz cuadrada n x n, conteniendo la siguiente información en cada fila i. para 1 j k n para k
. Sea A una matriz cuadrada n x n, conteniendo la siguiente información en cada fila i Ai [, j] = 0 para j k n para k i i < j n Construya un algoritmo "Divide y Vencerás" que ordene las filas de la matriz
El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.
El método simplex Forma estándar y cambios en el modelo. Definiciones. Puntos extremos y soluciones factibles básicas. 4 El método simplex. Definiciones y notación. Teoremas. Solución factible básica inicial.
El término productividad, con frecuencia, se confunde con el término producción. Muchas
RESUMEN El término productividad, con frecuencia, se confunde con el término producción. Muchas personas piensan que a mayor producción más productividad, pero esto no es necesariamente cierto. Producción
Actividad de Evaluación Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L.
Actividad de Evaluación 2.4.1 Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L. Las técnicas de programación constituyen parte fundamental
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.
Algebra lineal y conjuntos convexos
Apéndice A Algebra lineal y conjuntos convexos El método simplex que se describirá en el Tema 2 es de naturaleza algebraica y consiste en calcular soluciones de sistemas de ecuaciones lineales y determinar
