Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 9
Arreglos en C++
• Probabilidades
• Estadística
• Óptica
• Economía
• Teoría de juegos
• Criptografía
• Química
• Electromagnetismo
• Mecánica clásica
• Literalmente en todas las ramas de la física
• Ecuaciones diferenciales
• Ecuaciones diferenciales parciales
• Aprendizaje maquina (Machine learning)
• Sistemas de control
• Análisis numérico
• Etc.
2
¿En que se usan los arreglos?
La imagen de muestra mas usada en la compresión de imágenes corresponde a Lena Soderberg (de
soltera Sjööblom), motivo por el cual fue la invitada de honor de la 50ª Conferencia Anual de la Society
for Imaging Science in Technology, en 1997.
3
¿En que se usan los arreglos?
La comparación de resultados experimentales (derecha) con cálculos
teóricos (izquierda) obtenidos para las mismas condiciones, para la
interacción de un haz coherente de electrones con gas de helio. El excelente
match es la evidencia más fuerte de los efectos de dispersión coherentes en
el experimento.
Teórico Experimental
[1]. Coherent Electron Scattering Captured by an Attosecond Quantum Stroboscope, Mauritsson, J. et al, Phys. Rev. Lett., vol 100, 2008.
Algoritmos de ordenamiento
• Ascendente: 𝐴1 ≤ 𝐴2 ≤ 𝐴3 ≤ … ≤ 𝐴𝑛
• Descendente: 𝐴1 ≥ 𝐴2 ≥ 𝐴3 ≥ … ≥ 𝐴𝑛
5
Algoritmos de ordenamiento
Al ordenar los datos se pueden presentar de
tres formas:
• Peor caso: que los datos estén ordenado en sentido
inverso
10 11 12 13 18 19 20
6
Ordenamiento interno
Métodos directos
• Se caracterizan por ser cortos, fácil de
programar y entender. Pero ineficientes
para el tratamiento de una larga data.
Métodos logarítmicos
• Son métodos más sofisticados que los
métodos directos, su elaboración y
comprensión es más abstracta, pero
bastante eficientes debido a la menor
cantidad de comparaciones que realiza.
7
Métodos directos
Los métodos directos se pueden clasificar de las
siguientes categorías:
Elementos ya
ordenados Se busca el i-ésimo elemento más pequeño, j
varía desde N hasta i+1
9
Métodos directos
Algoritmo del método de la burbuja
Inicio
para i 1 hasta N hacer
para j N hasta i+1 hacer (-1)
si A[j] < A[j-1] entonces
aux A[j]
A[j] A[j-1]
A[j-1] aux
fin_para
fin_para
Fin
10
Métodos logarítmicos
Los métodos logarítmicos se pueden clasificar de
las siguientes categorías:
Ordenamiento por partición
• QuickSort
• MergeSort
• HeapSort
11
Métodos logarítmicos
Método QuickSort
Se basa en el hecho que es más fácil ordenar dos listas
pequeñas que una grande. Se basa en la estrategia “divide y
vencerás”
Los elementos a ordenar se dividen en dos grupos: Uno con
todos los valores menores o iguales a cierto valor específico
y otra con todos los valores mayores a ese valor.
El valor elegido puede ser cualquier valor arbitrario del
vector. Este valor se le llama comúnmente pivote.
Básicamente quickSort trabaja así:
• Se elige el pivote (usualmente el elemento a la mitad de
la lista)
12
Métodos logarítmicos
Método QuickSort
13
Métodos logarítmicos
Método QuickSort
15
Métodos logarítmicos
Algoritmo del método QuickSort
Inicio
establecer x al valor de un elemento
arbitrario de la lista
mientras división no este terminada hacer
recorrer de izq a der para un valor >= x
recorrer de der a izq para un valor =< x
si valores localizados no ordenados
entonces
intercambiar los valores
fin_si
fin_mientras
Fin
16
Matrices
Operaciones con matrices
Trasposición de matrices
Producto de matrices
Propiedades simplificativas
Matrices invertibles
17
Algoritmo de la matriz transpuesta
18
Algoritmo de suma de matrices
19
Algoritmo de producto de matrices
20