Ordenamiento Avanzado: Shellshort y Quicksort

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Ordenamiento Avanzado: Shellshort y Quicksort"

Transcripción

1 October 1, 2009

2

3 Acerca del ordenamiento sencillo... Los métodos de ordenamiento sencillo que vimos anteriormente son relativamente fácil de implementar. A expensas de la facilidad de implementarlos perdemos rendimiento, pues demostramos que tienen un tiempo de ejecución O(N 2 ). Acá trataremos otros métodos relativamente más complejos de implementar pero con un rendimiento mucho mejor.

4 Recordando al ordenamiento por inserción Ordenamiento por inserción: ordenamiento parcial En cualquier momento, los elementos a la izquierda de la ĺınea divisora están ordenados entre ellos mismos. Para mover el elemento en la ĺınea divisora a su requerida posición, se desplazan los elementos a su izquierda una posición a la derecha hasta que que se llegue a la posición requerida.

5 Recordando al ordenamiento por inserción Ordenamiento por inserción: ordenamiento parcial En cualquier momento, los elementos a la izquierda de la ĺınea divisora están ordenados entre ellos mismos. Para mover el elemento en la ĺınea divisora a su requerida posición, se desplazan los elementos a su izquierda una posición a la derecha hasta que que se llegue a la posición requerida.... y aquí viene el problema Imagina que un elemento pequeño está en la última posición (donde los elementos grandes deberían estar). Moverlo hasta su posición correspondiente toma cerca de N copias (sólo por él!). El elemento promedio en inserción se mueve N/2 veces. se basa en el ordenamiento por inserción, mejorando el rendimiento significativamente

6 N-ordenamiento Outline se basa en el N-ordenamiento o N-sorting, esto es, ordenar elementos que estan a una distancia N entre sí. En la primera pasada, todos los elementos a una distancia N entre sí están ordenados. Luego se escoge una N más pequeña y se repite el proceso. El proceso antes de culminar ordena a todos los que están a una distancia N = 1 entre sí (inserción). Por qué es más eficiente que el ordenamiento por inserción? Qué se puede decir del ordenamiento por inserción, conociendo a?

7 Ejemplo Outline

8 Escogiendo a N Outline La N se escoge en relación al tamaño del arreglo. Mientras más grande el arreglo, más grande la N. Luego de que un arreglo está N-ordenado, se escoge una N más pequeña hasta que N = 1. Por ejemplo: (364, 121, 40, 13, 4, 1) esta secuencia se llama la secuencia de intérvalo La secuencia que utilizamos se le atribuye a Donald Knuth. Esta se consigue a través de la fórmula recursiva: h = 3 h + 1 Se escoge el h más grande que sea más pequeño que el arreglo a ordenar.

9 p u b l i c void s h e l l S h o r t ( ) { i n t i n n e r, outer, temp, h = 1 ; while ( h <= nelems / 3) h = h ; while ( h > 0) { f o r ( o u t e r=h ; outer <nelems ; o u t e r++) { temp = a r r a y [ o u t e r ] ; i n n e r = o u t e r ; while ( i n n e r > h 1 && a r r a y [ i n n e r h]>=temp ){ a r r a y [ i n n e r ] = a r r a y [ i n n e r h ] ; i n n e r = i n n e r h ; } a r r a y [ i n n e r ] = temp ; } h = ( h 1) / 3 ; } }

10 Outline Definición data, aparte de no ser una palabra en español, es la acción por la cual dividimos un conjunto de datos en dos: uno donde todos los elementos menores a un pivote estén a un lado, y los mayores al pivote en otro lado. Ejemplos prácticos:

11 Outline Definición data, aparte de no ser una palabra en español, es la acción por la cual dividimos un conjunto de datos en dos: uno donde todos los elementos menores a un pivote estén a un lado, y los mayores al pivote en otro lado. Ejemplos prácticos: Empleados que vivan a una distancia menor de 10 km en un lado y los que vivan a una distancia mayor en otros.

12 Outline Definición data, aparte de no ser una palabra en español, es la acción por la cual dividimos un conjunto de datos en dos: uno donde todos los elementos menores a un pivote estén a un lado, y los mayores al pivote en otro lado. Ejemplos prácticos: Empleados que vivan a una distancia menor de 10 km en un lado y los que vivan a una distancia mayor en otros. Estudiantes con índice menor de 2.0 de un lado y los otros con índice mayor de 2.0 en otro lado

13 Outline Definición data, aparte de no ser una palabra en español, es la acción por la cual dividimos un conjunto de datos en dos: uno donde todos los elementos menores a un pivote estén a un lado, y los mayores al pivote en otro lado. Ejemplos prácticos: Empleados que vivan a una distancia menor de 10 km en un lado y los que vivan a una distancia mayor en otros. Estudiantes con índice menor de 2.0 de un lado y los otros con índice mayor de 2.0 en otro lado Ordenar elementos?

14 Notas acerca de particionar

15 Notas acerca de particionar un conjunto de data no implica ordenación

16 Notas acerca de particionar un conjunto de data no implica ordenación >Sin embargo, el mismo está más ordenado que antes

17 Notas acerca de particionar un conjunto de data no implica ordenación >Sin embargo, el mismo está más ordenado que antes no es estable: cada elemento de cada grupo no se queda en el mismo orden

18 Notas acerca de particionar un conjunto de data no implica ordenación >Sin embargo, el mismo está más ordenado que antes no es estable: cada elemento de cada grupo no se queda en el mismo orden En el mejor de los casos cada grupo debería tener la misma cantidad de elementos

19 Notas acerca de particionar un conjunto de data no implica ordenación >Sin embargo, el mismo está más ordenado que antes no es estable: cada elemento de cada grupo no se queda en el mismo orden En el mejor de los casos cada grupo debería tener la misma cantidad de elementos Es el núcleo del algoritmo

20 i n t p a r t i t i o n ( i n t l e f t, i n t r i g h t, i n t p i v o t ) { i n t l e f t P t r = l e f t 1, r i g h t P t r = r i g h t + 1 ; while ( true ) { while ( l e f t P t r <r i g h t && a r r [++ l e f t P t r ] < p i v o t ) ; while ( r i g h t P t r >l e f t && a r r [ r i g h t P t r ] > p i v o t ) ; i f ( l e f t P t r >= r i g h t P t r ) break ; } swap ( l e f t P t r, r i g h t P t r ) ; } return l e f t P t r ;

21 Outline Es el método más conocido para ordenar data en memoria, con un tiempo de O(N log n) Entender cómo funciona depende fundamentalmente de qué tanto se conoce el método de particionar data, ya que, como vimos anteriormente, es el método núcleo del Básicamente, trabaja particionando un arreglo en dos subarreglos y luego llamándose recursivamente para ordenar cada subarreglo Es más fácil ver esto en código:

22 void r e c Q u i c k S o r t ( i n t l e f t, i n t r i g h t ) { i f ( r i g h t l e f t <= 0) return ; i n t p i v o t = c h o o s e P i v o t ( a r r a y, l e f t, r i g h t ) ; i n t p a r t i t i o n =p a r t i t i o n I t ( l e f t, r i g h t, p i v o t ) ; r e c Q u i c k S o r t ( l e f t, p a r t i t i o n 1 ) ; r e c Q u i c k S o r t ( p a r t i t i o n + 1, r i g h t ) ; }

23 Notas Outline Cómo se ordena cada sub-arreglo? partitionit() devuelve el elemento izquierda del sub-arreglo con las llaves más grandes Por qué partition no se incluye en ninguna llamada, está ordenado? La eficiencia del depende en gran manera de la elección del pivote. Qué pasa si escogemos como pivote al elemento de la derecha, cuando el arreglo está ordenado descendientemente? La mediana-de-tres es un esquema para elección de pivote basado en tomar la mediana del primer, último y elemento central de un arreglo. Qué beneficios tiene?

Sorting++ Herman Schinca. Clase 21. 10 de Junio de 2011

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

Más detalles

<tipo> Tipo de dato de los elementos del vector

<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.

Más detalles

Algoritmos de Ordenamiento

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

Más detalles

Problemas de Recursividad

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

Más detalles

Universidad de Costa Rica

Universidad de Costa Rica 1. Aspectos generales En este laboratorio se aprendio a usar funciones de sistema. Al principio se utilizo el modulo subprocess pero se tuvo muchos problemas por lo que se opto por glob. Definitivamente

Más detalles

Eligiendo algoritmos: El caso de ordenamiento

Eligiendo algoritmos: El caso de ordenamiento Eligiendo algoritmos: El caso de ordenamiento Horst H. von Brand * Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, Chile vonbrand@inf.utfsm.cl Abstract The problem of sorting

Más detalles

ALGORITMOS DE ORDENACIÓN Y BÚSQUEDA

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.

Más detalles

Programación Orientada a Objetos Métodos Guía de Ejercicios v9.7

Programación Orientada a Objetos Métodos Guía de Ejercicios v9.7 Programación Orientada a Objetos Métodos Guía de Ejercicios v9.7 1, Escriba un método llamado puntoscalidad que reciba como entrada el promedio de un estudiante y devuelva 4 si el promedio se encuentra

Más detalles

Tema 8: Algoritmos de ordenación y búsqueda

Tema 8: Algoritmos de ordenación y búsqueda Tema 8: Algoritmos de ordenación y búsqueda Objetivos: en este tema se presentan algoritmos que permiten buscar un elemento dentro de una colección y ordenar una colección en base a algún criterio (el

Más detalles

Notación Asintótica 2

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

Más detalles

Tema: Métodos de Ordenamiento. Parte 1.

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

Más detalles

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 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

Más detalles

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

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

Más detalles

Análisis de rendimiento de algoritmos paralelos

Análisis de rendimiento de algoritmos paralelos Análisis de rendimiento de algoritmos paralelos Joaquín Andrés López Molina josandlopmol@gmail.com Daniel Mauricio Rodríguez Alpizar danielmau231995@hotmail.com Estudiantes de Ingeniería en Computación

Más detalles

2 3 4 5 6 7 8 9 10 12,999,976 km 9,136,765 km 1,276,765 km 499,892 km 245,066 km 112,907 km 36,765 km 24,159 km 7899 km 2408 km 76 km 12 14 16 9 10 1 8 12 7 3 1 6 2 5 4 3 11 18 20 21 22 23 24 25 26 28

Más detalles

Lección 10: División de Polinomios. Dra. Noemí L. Ruiz Limardo 2009

Lección 10: División de Polinomios. Dra. Noemí L. Ruiz Limardo 2009 Lección 10: División de Polinomios Dra. Noemí L. Ruiz Limardo 009 Objetivos de la lección Al finalizar esta lección los estudiantes: Dividirán polinomios de dos o más términos por polinomios de uno y dos

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO. Introducción FACULTAD DE INGENIERÍA. Ordenación

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO. Introducción FACULTAD DE INGENIERÍA. Ordenación Introducción Uno de los procedimientos más comunes y útiles en el procesamiento de datos, es la clasificación u ordenación de los mismos. Se considera ordenar al proceso de reorganizar un conjunto dado

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO DE ARECIBO CENTRO DE SERVICIOS DE APOYO AL ESTUDIANTE

UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO DE ARECIBO CENTRO DE SERVICIOS DE APOYO AL ESTUDIANTE UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO DE ARECIBO CENTRO DE SERVICIOS DE APOYO AL ESTUDIANTE Glosario Media: es la puntuación promedio de un grupo de datos. Mediana: la mediana viene a ser la

Más detalles

Instrucciones de control

Instrucciones de control Instrucciones de control Instrucciones de control de flujo C# ofrece un conjunto de sentencias similar al de C, C++ o Java. A continuación se estudian muy brevemente cada una de ellas. if if se utiliza

Más detalles

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas Fundamentos de Programación Flujo de Control I: Estructuras selectivas El Flujo de Control de un Programa Un algoritmo puede ser construido utilizando combinaciones de tres estructuras de control de flujo

Más detalles

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática Programación de Computadores 4 Iteraciones y Decisiones Prof. Javier Cañas Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Operadores Relacionales y Lógicos

Más detalles

1 diremos que es la altura de X, y el ancho de 1. Seria, 1 por X, que sería X.

1 diremos que es la altura de X, y el ancho de 1. Seria, 1 por X, que sería X. SEI.2.A1.1-Deana Smith-Solving Equations using Algebra Tiles. La lección de hoy es sobre Resolver Ecuaciones usando Mosaicos o Azulejos en Algebra. El cuál es la expectativa para el aprendizaje del estudiante

Más detalles

Acuerdo 286 Matemáticas

Acuerdo 286 Matemáticas Acuerdo 286 Matemáticas Habilidad Matemática Fausto Zarate Melchor Habilidad Matemática. La habilidad matemática se compone de dos tipos de habilidad: la espacial y la numérica. a) Representación del espacio.

Más detalles

9.1. Insertar filas en una hoja

9.1. Insertar filas en una hoja UNIDAD 9. INSERTAR Y ELIMINAR ELEMENTOS (I) Vamos a ver las diferentes formas de insertar y eliminar filas, columnas, celdas y hojas, operaciones muy útiles cuando tenemos un libro ya creado y queremos

Más detalles

Ficha de apoyo respecto del núcleo de Relaciones Lógico Matemáticas y cuantificación

Ficha de apoyo respecto del núcleo de Relaciones Lógico Matemáticas y cuantificación Ficha de apoyo respecto del núcleo de Relaciones Lógico Matemáticas y cuantificación Tema: Elementos teóricos referidos a la construcción del concepto de número. Ideas centrales: El número es una expresión

Más detalles

CINEMÁTICA: ESTUDIO DEL MOVIMIENTO. Cinemática es la parte de la Física que estudia la descripción del movimiento de los cuerpos.

CINEMÁTICA: ESTUDIO DEL MOVIMIENTO. Cinemática es la parte de la Física que estudia la descripción del movimiento de los cuerpos. CINEMÁTICA: ESTUDIO DEL MOVIMIENTO Cinemática es la parte de la Física que estudia la descripción del movimiento de los cuerpos. 1. Cuándo un cuerpo está en movimiento? Para hablar de reposo o movimiento

Más detalles

UNIDAD 7: NÚMEROS DECIMALES Y OPERACIONES

UNIDAD 7: NÚMEROS DECIMALES Y OPERACIONES UNIDAD 7: NÚMEROS DECIMALES Y OPERACIONES ÍNDICE 7.1 Unidad decimal. 7.2 Escritura, lectura y descomposición de números decimales. 7.2.1 Escritura de números decimales. 7.2.2 Lectura de números decimales.

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

DIVISIBILIDAD Y NÚMEROS PRIMOS I

DIVISIBILIDAD Y NÚMEROS PRIMOS I DIVISIBILIDAD Y NÚMEROS PRIMOS I LUZ MARÍA SÁNCHEZ GARCÍA 1. NÚMEROS PRIMOS Todas las cosas que pueden ser conocidas tienen número, pues no es posible que, sin número, nada pueda ser conocido ni concebido.

Más detalles

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

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

Más detalles

Manejo de módulos y recursión en programación. Pseudocódigo. (CU00204A)

Manejo de módulos y recursión en programación. Pseudocódigo. (CU00204A) aprenderaprogramarcom Manejo de módulos y recursión en programación Pseudocódigo (CU00204A) Sección: Cursos Categoría: Curso Bases de la programación Nivel II Fecha revisión: 2024 Autor: Mario R Rancel

Más detalles

Semana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt

Semana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt Semana de las Matemáticas e Ingeniería Desarrollo de algoritmos recursivos empleando la aplicación PseInt 21 de Noviembre de 2013 Agenda Desarrollo de algoritmos recursivos empleando la aplicación PSeInt

Más detalles

Algoritmo para Calcular Logaritmos

Algoritmo para Calcular Logaritmos Algoritmo para Calcular Logaritmos José Acevedo Jiménez Santiago, Rep. Dom. Calcular el logaritmo de un número hoy día es tarea sencilla, el uso de tablas y reglas para calcular el valor de los mismos

Más detalles

LOS ESTADÍGRAFOS BÁSICOS Y SU INTERPRETACIÓN, M TENDENCIA CENTRAL

LOS ESTADÍGRAFOS BÁSICOS Y SU INTERPRETACIÓN, M TENDENCIA CENTRAL PreUnAB LOS ESTADÍGRAFOS BÁSICOS Y SU INTERPRETACIÓN, MEDIDAS DE TENDENCIA CENTRAL Clase # 26 Noviembre 2014 ESTADÍGRAFOS Concepto de estadígrafo Un estadígrafo, o estadístico, es un indicador que se calcula

Más detalles

UNIDAD DE APRENDIZAJE I

UNIDAD DE APRENDIZAJE I UNIDAD DE APRENDIZAJE I Saberes procedimentales Interpreta y utiliza correctamente el lenguaje simbólico para el manejo de expresiones algebraicas. 2. Identifica operaciones básicas con expresiones algebraicas.

Más detalles

La unidad fraccionaria es cada una de las partes que se. Una fracción es el cociente de dos números enteros a y b,

La unidad fraccionaria es cada una de las partes que se. Una fracción es el cociente de dos números enteros a y b, Unidad fraccionaria La unidad fraccionaria es cada una de las partes que se obtienen al dividir la unidad en n partes iguales. Definición de fracción Una fracción es el cociente de dos números enteros

Más detalles

Diseño Estructurado de Algoritmos

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

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

XI Concurso Intercentros de Matemáticas de la Comunidad de Madrid

XI Concurso Intercentros de Matemáticas de la Comunidad de Madrid PRUEBA POR EQUIPOS 1º y 2º de E.S.O. (45 minutos) 1. Antonio escribe en la pizarra un número N de cinco cifras. Marta copia el número de Antonio y le añade un 1 a la derecha y obtiene un número de seis

Más detalles

Herramientas computacionales para la matemática MATLAB: Estructuras de control

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

Más detalles

ELECTRODINAMICA. Nombre: Curso:

ELECTRODINAMICA. Nombre: Curso: 1 ELECTRODINAMICA Nombre: Curso: Introducción: En esta sesión se estudiara los efectos de las cargas eléctricas en movimiento en diferentes tipos de conductores, dando origen al concepto de resistencia

Más detalles

Tabla Periódica de los elementos.

Tabla Periódica de los elementos. Tabla Periódica de los elementos. La Tabla Periódica postulada originalmente en 1869 por el químico ruso Dmitri I. Mendeléiev y en 1870 por el alemán Julius Lothar Meyer, es una representación ordenada

Más detalles

Algoritmos de Búsqueda y Ordenamiento

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

Más detalles

Ejemplo, generación de #s aleatorios

Ejemplo, generación de #s aleatorios Ejemplo, generación de #s aleatorios Supón que tienes un generador de números aleatorios enteros [0,2] con distribución uniforme, y tu necesitas generar números con distribución uniforme [0,4]. Alguien

Más detalles

Normalmente usamos la palabra "combinación" descuidadamente, sin pensar en si el orden de las cosas es importante. En otras palabras:

Normalmente usamos la palabra combinación descuidadamente, sin pensar en si el orden de las cosas es importante. En otras palabras: ENCUENTRO # 43 TEMA: Permutaciones y Combinatoria Ejercicio Reto Resolver las ecuaciones: a) b) DEFINICION: Permutación y Combinaciones Qué diferencia hay? Normalmente usamos la palabra "combinación" descuidadamente,

Más detalles

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. 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

Más detalles

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 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

Más detalles

INSTITUCION EDUCATIVA DISTRITAL SIERRA MORENA

INSTITUCION EDUCATIVA DISTRITAL SIERRA MORENA INSTITUCION EDUCATIVA DISTRITAL SIERRA MORENA Por una escuela activa, viva, planeada y proyectada al siglo XXI FEPARTAMENTO; MATEMATICAS SEDE: A JORNADA: FIN DE SEMANA Ciclo; _ II_ Asignatura; MATEMATICAS

Más detalles

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5

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

Más detalles

Fundamentos y Estructuras de Programación Profesor: Gerardo M. Sarria M.

Fundamentos y Estructuras de Programación Profesor: Gerardo M. Sarria M. 9/Mar/2015 Consideraciones Generales Esta evaluación es estrictamente individual. Cualquier violación a esta norma será considerada como fraude. Tiene 2 horas para realizar el examen. Sólo puede sacar

Más detalles

Unidad Didáctica 2. Manejo del ratón.

Unidad Didáctica 2. Manejo del ratón. Unidad Didáctica 2. Manejo del ratón. Temporalización: El desarrollo de esta unidad comprende una o dos sesiones, en función del desempeño de los usuarios en la sesión 3 de la Unidad 1. Si el manejo del

Más detalles

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 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

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

El lenguaje C. 1. Estructuras. Principios de Programación. 1.1. Definicion de estructuras

El lenguaje C. 1. Estructuras. Principios de Programación. 1.1. Definicion de estructuras Principios de Programación El lenguaje C 1. Estructuras Las estructuras son colecciones de variables relacionadas bajo un nombre. Las estructuras pueden contener variables de muchos tipos diferentes de

Más detalles

Microsoft Windows Seven. Windows Seven. Elementos de la pantalla principal Iconos del escritorio o Equipo o Papelera de Reciclaje Barra de tareas

Microsoft Windows Seven. Windows Seven. Elementos de la pantalla principal Iconos del escritorio o Equipo o Papelera de Reciclaje Barra de tareas Microsoft Windows Seven 3 Windows Seven Elementos de la pantalla principal Iconos del escritorio o Equipo o Papelera de Reciclaje Barra de tareas Elementos de la pantalla principal El escritorio es el

Más detalles

La eficiencia de los programas

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

Más detalles

Antes de empezar... Crear una presentación

Antes de empezar... Crear una presentación Una vez que conozcas los conceptos básicos sobre cómo crear y editar documentos de Google Docs, y cómo acceder a ellos, lee esto para conocer los conceptos básicos específicos de las Presentaciones de

Más detalles

Contenido. Capítulo 1. Introducción a lenguaje C 1

Contenido. Capítulo 1. Introducción a lenguaje C 1 Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje

Más detalles

LENTES Y ÓPTICA DEL OJO

LENTES Y ÓPTICA DEL OJO LENTES Y ÓPTICA DEL OJO OBJETIVOS En las investigaciones 2 y 3 vimos que si la luz atraviesa superficies de separación entre dos medios diferentes se desvía. Este hecho ha sido empleado para la construcción

Más detalles

Estadística para la toma de decisiones

Estadística para la toma de decisiones Estadística para la toma de decisiones ESTADÍSTICA PARA LA TOMA DE DECISIONES. 1 Sesión No. 3 Nombre: Estadística descriptiva: medidas numéricas. Objetivo Al término de la sesión el estudiante calculará

Más detalles

Sistema Diédrico (I). Verdadera magnitud: Alfabeto de recta y plano en los cuatro cuadrantes

Sistema Diédrico (I). Verdadera magnitud: Alfabeto de recta y plano en los cuatro cuadrantes Sistema Diédrico (I). Verdadera magnitud: Alfabeto de recta y plano en los cuatro cuadrantes Retomamos los contenidos del sistema diédrico, en este tema vamos a aplicar los conceptos y procedimientos sobre

Más detalles

Problema - Sumando Digitos

Problema - Sumando Digitos Primera Olimpiada de Informática Problema - Sumando Digitos Comenzando con un entero entre 00 y 99 inclusive, escritos como dos dígitos (use un cero a la izquierda en caso de que el numero sea menor que

Más detalles

LABORATORIO Nº 8 FILTROS EN EXCEL

LABORATORIO Nº 8 FILTROS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar filtros en Microsoft Excel. 1) FILTRAR INFORMACIÓN Para agregar un filtro a una tabla se debe seleccionar

Más detalles

TABLA DE CONTENIDO PROCEDIMIENTO TEMPORAL ESTRUCTURA PREAPERTURA DE CUENTAS DE DEPÓSITO DE ACCIONES INTEGRALES (TIPO KA)

TABLA DE CONTENIDO PROCEDIMIENTO TEMPORAL ESTRUCTURA PREAPERTURA DE CUENTAS DE DEPÓSITO DE ACCIONES INTEGRALES (TIPO KA) TABLA DE CONTENIDO 1.1 NOMENCLATURA PARA EL NOMBRE DEL ARCHIVO... 3 1.2 FORMA DE PROCESAR LA PREAPERTURA DE CUENTAS... 4 1.3 DISEÑO DE LA ESTRUCTURA DEL ARCHIVO DE ENTRADA... 5 1.3.1 Registro Tipo 1...

Más detalles

Materia: Matemática de Octavo Tema: Conjunto Q (Números Racionales)

Materia: Matemática de Octavo Tema: Conjunto Q (Números Racionales) Materia: Matemática de Octavo Tema: Conjunto Q (Números Racionales) Vamos a recordar los conjuntos numéricos estudiados hasta el momento. (1.) Conjunto de los números Naturales Son aquellos que utilizamos

Más detalles

EL OSCILOSCOPIO Introducción

EL OSCILOSCOPIO Introducción EL OSCILOSCOPIO Introducción Qué es un osciloscopio? El osciloscopio es basicamente un dispositivo de visualización gráfica que muestra señales electricas variables en el tiempo. El eje vertical, a partir

Más detalles

Introducción La Circunferencia Parábola Elipse Hiperbola. Conicas. Hermes Pantoja Carhuavilca

Introducción La Circunferencia Parábola Elipse Hiperbola. Conicas. Hermes Pantoja Carhuavilca Facultad de Ingeniería Industrial Universidad Nacional Mayor de San Marcos Matematica I Contenido 1 Introducción 2 La Circunferencia 3 Parábola 4 Elipse 5 Hiperbola Objetivos Se persigue que el estudiante:

Más detalles

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL Ciclos Fundamentos de Programación Recordando Estructuras de Control Básicas: Una secuencia es una serie de estatutos que se ejecutan uno después de otro. Selección (condición) ejecuta diferentes estatutos

Más detalles

Definiciones generales

Definiciones generales Deiniciones generales Objetivo Brindar al participante los conceptos teóricos básicos sobre Media Aritmética para datos no agrupados y agrupados En esta sesión Conceptos básicos de Media Aritmética para

Más detalles

1. NUMEROS REALES a. Los Números Reales

1. NUMEROS REALES a. Los Números Reales 1. NUMEROS REALES a. Los Números Reales Los números reales comprenden todo el campo de números que utilizamos en las matemáticas, a excepción de los números complejos que veremos en capítulos superiores.

Más detalles

MEDIDAS ESTADÍSTICAS Medidas de Tendencia Central y de Variabilidad

MEDIDAS ESTADÍSTICAS Medidas de Tendencia Central y de Variabilidad MEDIDAS ESTADÍSTICAS Medidas de Tendencia Central y de Variabilidad 1 Propiedades deseables de una medida de Tendencia Central. 1) Definida objetivamente a partir de los datos de la serie. 2) Que dependa

Más detalles

Metodología de la Programación II. Recursividad

Metodología de la Programación II. Recursividad Metodología de la Programación II Recursividad Objetivos Entender el concepto de recursividad. Conocer los fundamentos del diseño de algoritmos recursivos. Comprender la ejecución de algoritmos recursivos.

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 3 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº3 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi primeras

Más detalles

CAPÍTULO 9. DIAGRAMAS DE

CAPÍTULO 9. DIAGRAMAS DE CAPÍTULO 9. DIAGRAMAS DE ACTIVIDAD 1. Introducción Los diagramas de actividad son uno de los diagramas UML que muestran el comportamiento dinámico del sistema. Esencialmente, consisten en un diagrama de

Más detalles

Examen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos)

Examen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos) Examen escrito de Programación 1. Jueves 5 de febrero de 2015 Se debe disponer de un documento de identificación con fotografía sobre la mesa. Se debe comenzar a resolver cada uno de los dos problemas

Más detalles

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas? NOTA: El término interfaz aquí NO se refiere a las interfaces gráficas

Más detalles

Programación de Sistemas

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

Más detalles

Funciones. Parámetros por valor

Funciones. Parámetros por valor Funciones I Parámetros por valor Fundamentos de Programación Fundamentos de Programación I Llamada a la función definición subprograma Subprogramas en C++ Funciones 1 Una función es un subprograma que

Más detalles

PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA

PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: FECHA DIA MES AÑO INGENIERÍA EN COMPUTACIÓN ASIGNATURA 1. Objetivo Apellido paterno ESTRUCTURAS

Más detalles

Árboles binarios de búsqueda ( BST )

Á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

Más detalles

Ejemplo de Casos de Uso. Gestión básica de una biblioteca.

Ejemplo de Casos de Uso. Gestión básica de una biblioteca. Ejemplo de Casos de Uso. Gestión básica de una biblioteca. La Biblioteca Municipal está teniendo un gran éxito pero le están surgiendo algunos problemas relacionados con el grado de satisfacción del cliente

Más detalles

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características

Más detalles

La segunda observación permite reformular el problema de una manera más simple:

La segunda observación permite reformular el problema de una manera más simple: Problema partición Enunciado A: dados N enteros positivos, N>1, decir si estos pueden dividirse en dos grupos cuya suma sea la misma. Ejemplo: si el conjunto es {1,2,3,9,2,11,4}, una forma de partirlo

Más detalles

ESTADÍSTICA SEMANA 3

ESTADÍSTICA SEMANA 3 ESTADÍSTICA SEMANA 3 ÍNDICE MEDIDAS DESCRIPTIVAS... 3 APRENDIZAJES ESPERADOS... 3 DEFINICIÓN MEDIDA DESCRIPTIVA... 3 MEDIDAS DE POSICIÓN... 3 MEDIDAS DE TENDENCIA CENTRAL... 4 MEDIA ARITMÉTICA O PROMEDIO...

Más detalles

Guía Gobierno Corporativo

Guía Gobierno Corporativo Guía Gobierno Corporativo Índice 1. Qué es el Gobierno Corporativo? 2. Principios Básicos del Gobierno Corporativo 3. Importancia de implementar Gobierno Corporativo 4. Primeros Pasos del Gobierno Corporativo:

Más detalles

Tipos de gráficas y selección según los datos CIENCIA, TECNOLOGIA Y AMBIENTE

Tipos de gráficas y selección según los datos CIENCIA, TECNOLOGIA Y AMBIENTE Tipos de gráficas y selección según los datos CIENCIA, TECNOLOGIA Y AMBIENTE Objetivos 2 Identificar los tipos de gráficas. Definir los conceptos tablas y cuadros Reconocer las partes de una gráfica. Construir

Más detalles

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 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

Más detalles

V. Proyecto de exploración matemática para estudiantes de secundaria: Las huellas efímeras 1 de la geometría dinámica

V. Proyecto de exploración matemática para estudiantes de secundaria: Las huellas efímeras 1 de la geometría dinámica V. Proyecto de exploración matemática para estudiantes de secundaria: Las huellas efímeras 1 de la geometría dinámica Algunas calculadoras modernas 2 vienen dotadas de programas de geometría dinámica tales

Más detalles

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos Santiago Zanella 2008 1 Introducción Para ciertas aplicaciones se requiere mantener n elementos distintos agrupándolos en una colección

Más detalles

INFORME LABORATORIO DE MECÁNICA DE FLUIDOS N 3

INFORME LABORATORIO DE MECÁNICA DE FLUIDOS N 3 INFORME LABORATORIO DE MECÁNICA DE FLUIDOS N 3 Viscosidad Nombre o integrantes : Cristian Hernán Ojeda Muñoz. Julián Martínez. Fecha de ejecución : 22 de Octubre de 2013. Fecha de entrega : 29 de Octubre

Más detalles

UNIDAD 7. LOS NÚMEROS ENTEROS

UNIDAD 7. LOS NÚMEROS ENTEROS UNIDAD 7. LOS NÚMEROS ENTEROS 1. LOS NÚMEROS ENTEROS 2. REPRESENTACIÓN Y ORDENACIÓN DE NÚMEROS ENTEROS 3. OPERACIONES CON NÚMEROS ENTEROS 1. LOS NÚMEROS ENTEROS En la vida se nos presentan muchas veces

Más detalles

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

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

Más detalles

RSA: Implementación. Ya resolvimos (3), ahora vamos a resolver (2). IIC3242 Complejidad Probabiĺıstica 28 / 77

RSA: Implementación. Ya resolvimos (3), ahora vamos a resolver (2). IIC3242 Complejidad Probabiĺıstica 28 / 77 RSA: Implementación Para poder implementar RSA necesitamos algoritmos eficientes para los siguientes problemas: (1) Generar primos P y Q (2) Generar números e y d tales que e d modφ(n) = 1 (3) Calcular

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya CADENAS DE CARACTERES Hasta ahora se han manejado variables de tipo caracter cuyo valor es un sólo caracter. En algunos casos, sin embargo, es necesario usar variables cuyos valores sean un conjunto (cadena)

Más detalles

lasmatemáticas.eu Pedro Castro Ortega materiales de matemáticas

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

Más detalles

Ciencia del Dorso de la Mano. Sensación, Temperatura y Seguridad

Ciencia del Dorso de la Mano. Sensación, Temperatura y Seguridad Ciencia del Dorso de la Mano Sensación, Temperatura y Seguridad Temperatura y Sensación Normalmente pensamos en la sensación de frescura o calor como algo que tiene que ver sólo con temperatura. Si algo

Más detalles