SlideShare a Scribd company logo
Análisis de Algoritmos
 Metodologías para el análisis de algoritmos
 Notación asintótica
 Elementos matemáticos
 Otras técnicas de análisis
1
Metodologías para el análisis
de algoritmos
 La complejidad de un algoritmo estudia los recursos
necesarios (tiempo y memoria) que requiere un algoritmo.
 El tiempo de ejecución de un algoritmo o es prioritario cuando
se analiza un algoritmo.
 El tiempo de ejecución de un algoritmo o estructura de datos
depende de varios factores relativos al hardware (procesador,
reloj, memoria, disco, etc) y el software (sistema operativo,
lenguaje, compilador, etc.).
2
Metodologías para el análisis
de algoritmos
 Medida del tiempo de ejecución: experimentación.
Escribir un programa que implemente el
algoritmo.
Ejecutar el programa con un conjunto de
datos que varían en tamaño y composición
(peor caso, mejor caso, caso promedio) .
Usar un método como
System.currentTimeMillis() para obtener una
medida precisa del tiempo de ejecución.
3
Metodologías para el análisis
de algoritmos
 Medida del tiempo en Java: experimentación.
long startTime = System.currentTimeMillis();
// retorna el tiempo en miliseconds desde 1/1/1970
GMT
// código a ser medido
long elapsedTime =
System.currentTimeMillis()
- startTime;
4
Metodologías para el análisis
de algoritmos
 Medida del tiempo en Java: experimentación.
5
50 100
0
t (ms)
n
10
20
30
40
50
60
Metodologías para el análisis
de algoritmos
 Medida del tiempo en Java (más preciso):
long startTime = System.currentTimeMillis();
long counter;
do {
counter++;
hacerAlgo ( );
} while (System.currentTimeMillis() -
startTime < 1000),
long elapsedTime = (System.currentTimeMillis()
- startTime) / counter;
6
Metodologías para el análisis
de algoritmos
 Interesa hallar la dependencia del tiempo de ejecución en
función del tamaño de la entrada.
 Un método para estudiar el tiempo de ejecución es la
experimentación, que tiene limitaciones:
Los experimentos se pueden hacer sobre un
conjunto limitado de entradas de prueba.
Es necesario realizar los experimentos con el
mismo hardware y software.
Es necesario implementar y ejecutar el
algoritmo.
7
Metodologías para el análisis
de algoritmos
 Adicionalmente a la experimentación conviene disponer de
un enfoque analítico que:
Tome en consideración todas las posibles
entradas.
Permita evaluar la eficiencia de dos
algoritmos de forma independiente del
hardware y software.
Se pueda realizar estudiando una
representación de alto nivel del algoritmo
sin necesidad de implementarlo.
8
Pseudocódigo
 Pseudocódigo es una descripción de un algoritmo más
estructurada que la verbal pero menos formal que la de
un lenguaje de programación.
 Ejemplo: hallar el elemento mayor de un array.
Algorithm arrayMax(A, n):
Input: Un array A que almacena n enteros.
Output: El máximo elemento en A.
currentMax  A[0]
for i 1 to n -1 do
if currentMax < A[i] then currentMax  A[i]
return currentMax
 Pseudocódigo es la notación preferida para describir
algoritmos.
9
Qué es pseudocódigo
 Una mezcla de lenguaje natural y conceptos de programación de lato nivel que describen las proncipales
ideas que están en una implementación genérica de una estructura de datos o algoritmo.
-Expresiones: usa símbolos matemáticos standard para describir expresiones numéricas y booleanas
-usa  for assignment (“=” in Java)
-usa = for the equality relationship (“==” in Java)
-Declaración de métodos: -Algorithm nombre(param1, param2)
-Bloques Programación: - decision structures:
if ... then ... [else ... ]
- while-loops: while ... do
- repeat-loops: repeat ... until ...
- for-loop: for ... do
- array indexing: A[i]
-Métodos: - llamadas: object method(args)
- returns: return value
10
Análisis de algoritmos
 Operaciones Primitivas: se pueden identificar en el pseudocódigo
instrucciones de bajo nivel independientes del lenguaje de
programación.
 Ejemplos:
 llamar un método y retornar de un método
 operaciones aritméticas (e.g. suma)
 comparación de dos números, etc.
 Inspeccionando el pseudocódigo se puede contar el número de
operaciones primitivas ejecutadas por un algoritmo.
11
Ejemplo de conteo
Algorithm arrayMax(A, n):
Input: Un array A que almacena n enteros.
Output: El máximo elemento en A.
currentMax  A[0]
for i 1 to n -1 do
if currentMax < A[i] then currentMax  A[i]
return currentMax
t(n) = 2 + 1 + n +4(n-1) + 1 = 5n (mínimo)
= 2 + 1 + n +6(n-1) + 1 = 7n - 2 (máximo)
12
2
1 n
4(n-1) |
6(n-1)
1
Tiempo de ejecución
 Usar la notación Big-Oh para expresar el número de operaciones
primitivas ejecutadas como función del tamaño de entrada.
 Ejemplo: decimos que el algoritmo arrayMax se ejecuta en tiempo
O(n).
 Comparación de tiempos de ejecución asintóticos
- un algoritmo que corre en tiempo O(n) es mejor que uno que
corre en tiempo O(n2)
- de forma similar, O(log n) es mejor que O(n)
- jerarquía de funciones: log n << n << n2 << n3 << 2n
 Cuidado! Con los factores constantes muy grandes. Un algoritmo
que corre en tiempo 1,000,000 n todavía es O(n) pero puede ser
menor eficiente para un conjunto de datos que uno que corre en
tiempo 2n2, que es O(n2)
13

More Related Content

Similar to comparacion.PPTX, gestión de empresas y negocios

ANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOSANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOS
erwin_alexander
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
marioUitzil
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
Sid_Dharkoz
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
Jhon_Marjorie
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
Vanessa Ramirez
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmosrehoscript
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmospazmoralesv
 
EFICIENCIA DE ALGORITMOS
EFICIENCIA DE ALGORITMOSEFICIENCIA DE ALGORITMOS
EFICIENCIA DE ALGORITMOS
Fernando Solis
 
Unidad 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech mayKarina1602
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdf
CarlosJahnsen3
 
Introducción a la Informática - Los Algoritmos
Introducción a la Informática - Los AlgoritmosIntroducción a la Informática - Los Algoritmos
Introducción a la Informática - Los Algoritmos
hugocuella1
 
algoritmica
algoritmicaalgoritmica
algoritmica
karlalopezbello
 

Similar to comparacion.PPTX, gestión de empresas y negocios (20)

ANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOSANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOS
 
Viernes Tecnicos DTrace
Viernes Tecnicos DTraceViernes Tecnicos DTrace
Viernes Tecnicos DTrace
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
EFICIENCIA DE ALGORITMOS
EFICIENCIA DE ALGORITMOSEFICIENCIA DE ALGORITMOS
EFICIENCIA DE ALGORITMOS
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Unidad 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech may
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdf
 
Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
 
Introducción a la Informática - Los Algoritmos
Introducción a la Informática - Los AlgoritmosIntroducción a la Informática - Los Algoritmos
Introducción a la Informática - Los Algoritmos
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
algoritmica
algoritmicaalgoritmica
algoritmica
 

More from JhonyJuani

álgebra Booleana, práctica 1 presentación.pptx
álgebra Booleana, práctica 1 presentación.pptxálgebra Booleana, práctica 1 presentación.pptx
álgebra Booleana, práctica 1 presentación.pptx
JhonyJuani
 
transistor-mosf, investigaciones 1.pptxh
transistor-mosf, investigaciones 1.pptxhtransistor-mosf, investigaciones 1.pptxh
transistor-mosf, investigaciones 1.pptxh
JhonyJuani
 
Chilate k-kajjgffsyufeshkhssjknftbbw.pptx
Chilate k-kajjgffsyufeshkhssjknftbbw.pptxChilate k-kajjgffsyufeshkhssjknftbbw.pptx
Chilate k-kajjgffsyufeshkhssjknftbbw.pptx
JhonyJuani
 
Chilate k-jjjauq7ghhhhhahywsjKigkaw.pptx
Chilate k-jjjauq7ghhhhhahywsjKigkaw.pptxChilate k-jjjauq7ghhhhhahywsjKigkaw.pptx
Chilate k-jjjauq7ghhhhhahywsjKigkaw.pptx
JhonyJuani
 
Reporte de Actividades -AGOSTO DICIEMBRE 2023.docx
Reporte de Actividades -AGOSTO DICIEMBRE 2023.docxReporte de Actividades -AGOSTO DICIEMBRE 2023.docx
Reporte de Actividades -AGOSTO DICIEMBRE 2023.docx
JhonyJuani
 
Desarrollo_071801.pptx, desafortunadamente
Desarrollo_071801.pptx, desafortunadamenteDesarrollo_071801.pptx, desafortunadamente
Desarrollo_071801.pptx, desafortunadamente
JhonyJuani
 
comparacion.PPTX, gestión de empresas y negocios
comparacion.PPTX, gestión de empresas y negocioscomparacion.PPTX, gestión de empresas y negocios
comparacion.PPTX, gestión de empresas y negocios
JhonyJuani
 
Desarrollo de ciencias y física, desarrollo de aplicaciones
Desarrollo de ciencias y física, desarrollo de aplicacionesDesarrollo de ciencias y física, desarrollo de aplicaciones
Desarrollo de ciencias y física, desarrollo de aplicaciones
JhonyJuani
 

More from JhonyJuani (8)

álgebra Booleana, práctica 1 presentación.pptx
álgebra Booleana, práctica 1 presentación.pptxálgebra Booleana, práctica 1 presentación.pptx
álgebra Booleana, práctica 1 presentación.pptx
 
transistor-mosf, investigaciones 1.pptxh
transistor-mosf, investigaciones 1.pptxhtransistor-mosf, investigaciones 1.pptxh
transistor-mosf, investigaciones 1.pptxh
 
Chilate k-kajjgffsyufeshkhssjknftbbw.pptx
Chilate k-kajjgffsyufeshkhssjknftbbw.pptxChilate k-kajjgffsyufeshkhssjknftbbw.pptx
Chilate k-kajjgffsyufeshkhssjknftbbw.pptx
 
Chilate k-jjjauq7ghhhhhahywsjKigkaw.pptx
Chilate k-jjjauq7ghhhhhahywsjKigkaw.pptxChilate k-jjjauq7ghhhhhahywsjKigkaw.pptx
Chilate k-jjjauq7ghhhhhahywsjKigkaw.pptx
 
Reporte de Actividades -AGOSTO DICIEMBRE 2023.docx
Reporte de Actividades -AGOSTO DICIEMBRE 2023.docxReporte de Actividades -AGOSTO DICIEMBRE 2023.docx
Reporte de Actividades -AGOSTO DICIEMBRE 2023.docx
 
Desarrollo_071801.pptx, desafortunadamente
Desarrollo_071801.pptx, desafortunadamenteDesarrollo_071801.pptx, desafortunadamente
Desarrollo_071801.pptx, desafortunadamente
 
comparacion.PPTX, gestión de empresas y negocios
comparacion.PPTX, gestión de empresas y negocioscomparacion.PPTX, gestión de empresas y negocios
comparacion.PPTX, gestión de empresas y negocios
 
Desarrollo de ciencias y física, desarrollo de aplicaciones
Desarrollo de ciencias y física, desarrollo de aplicacionesDesarrollo de ciencias y física, desarrollo de aplicaciones
Desarrollo de ciencias y física, desarrollo de aplicaciones
 

Recently uploaded

API-581. inspección basa en riesgos confiabilidad
API-581. inspección basa en riesgos confiabilidadAPI-581. inspección basa en riesgos confiabilidad
API-581. inspección basa en riesgos confiabilidad
ssuser278262
 
cetoacidosis diabetica en pacientes.pptx
cetoacidosis diabetica en pacientes.pptxcetoacidosis diabetica en pacientes.pptx
cetoacidosis diabetica en pacientes.pptx
tecomedico
 
Diagnóstico Institucional en psicologia.docx
Diagnóstico  Institucional en psicologia.docxDiagnóstico  Institucional en psicologia.docx
Diagnóstico Institucional en psicologia.docx
cabreraelian69
 
Presentación diagrama de flujo del desarrollo aronautico.pptx
Presentación diagrama de flujo del desarrollo aronautico.pptxPresentación diagrama de flujo del desarrollo aronautico.pptx
Presentación diagrama de flujo del desarrollo aronautico.pptx
cmrodriguezortiz1103
 
Licencias por enfermedad de hijo menor de 2 años chile
Licencias por enfermedad de hijo menor de 2 años chileLicencias por enfermedad de hijo menor de 2 años chile
Licencias por enfermedad de hijo menor de 2 años chile
franciscasalinaspobl
 
Diapositivas del fenómeno del niño 123 resumido
Diapositivas del fenómeno del niño 123 resumidoDiapositivas del fenómeno del niño 123 resumido
Diapositivas del fenómeno del niño 123 resumido
AndreaMlaga1
 
Desarrollo de Habilidades de Pensamiento Informatica
Desarrollo de Habilidades de Pensamiento InformaticaDesarrollo de Habilidades de Pensamiento Informatica
Desarrollo de Habilidades de Pensamiento Informatica
floralbaortega88
 
Primeros 70 países por IDH ajustado por desigualdad (2024).pdf
Primeros 70 países por IDH ajustado por desigualdad  (2024).pdfPrimeros 70 países por IDH ajustado por desigualdad  (2024).pdf
Primeros 70 países por IDH ajustado por desigualdad (2024).pdf
JC Díaz Herrera
 
Desafíos y Oportunidades de la Educación Media Técnico Profesional en Chil...
Desafíos y Oportunidades de la Educación Media Técnico Profesional en Chil...Desafíos y Oportunidades de la Educación Media Técnico Profesional en Chil...
Desafíos y Oportunidades de la Educación Media Técnico Profesional en Chil...
Emisor Digital
 
El narcisismo actualmente en el mundo 2024
El narcisismo actualmente en el mundo 2024El narcisismo actualmente en el mundo 2024
El narcisismo actualmente en el mundo 2024
pepepinon408
 
Portada De Revista De Ciencia Elegante Moderno Azul y Amarillo.pdf
Portada De Revista De Ciencia Elegante Moderno Azul y Amarillo.pdfPortada De Revista De Ciencia Elegante Moderno Azul y Amarillo.pdf
Portada De Revista De Ciencia Elegante Moderno Azul y Amarillo.pdf
ssusere34b451
 
Presentación Cuenta Pública HLS 2023.pptx
Presentación Cuenta Pública HLS 2023.pptxPresentación Cuenta Pública HLS 2023.pptx
Presentación Cuenta Pública HLS 2023.pptx
hlscomunicaciones
 
Tecnologia de materiales T01- Agregados.docx (1).pdf
Tecnologia de materiales T01- Agregados.docx (1).pdfTecnologia de materiales T01- Agregados.docx (1).pdf
Tecnologia de materiales T01- Agregados.docx (1).pdf
uriel132
 
Proyecto minero las bambas – Apurímac 3.pptx
Proyecto minero las bambas – Apurímac 3.pptxProyecto minero las bambas – Apurímac 3.pptx
Proyecto minero las bambas – Apurímac 3.pptx
jramosqq
 
PRACTICA 1 SOCIOLOGÍA ANÁLISIS SOCIOLÓGICO.pdf
PRACTICA 1 SOCIOLOGÍA ANÁLISIS SOCIOLÓGICO.pdfPRACTICA 1 SOCIOLOGÍA ANÁLISIS SOCIOLÓGICO.pdf
PRACTICA 1 SOCIOLOGÍA ANÁLISIS SOCIOLÓGICO.pdf
encinasm992
 
ORIENTACIONES PSIET orientación sobre el pesiet
ORIENTACIONES PSIET orientación sobre el pesietORIENTACIONES PSIET orientación sobre el pesiet
ORIENTACIONES PSIET orientación sobre el pesiet
Maria Apellidos
 
Morfofisiopatologia Humana I________ UCS
Morfofisiopatologia Humana I________ UCSMorfofisiopatologia Humana I________ UCS
Morfofisiopatologia Humana I________ UCS
LisaCinnamoroll
 
Bioquímica ilustrada tomo 50- introduccion .pdf
Bioquímica ilustrada tomo 50- introduccion .pdfBioquímica ilustrada tomo 50- introduccion .pdf
Bioquímica ilustrada tomo 50- introduccion .pdf
sergio401584
 
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNATREGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
yafethcarrillo
 
Pobreza en el Perú en 2023.pdf practicag
Pobreza en el Perú en 2023.pdf practicagPobreza en el Perú en 2023.pdf practicag
Pobreza en el Perú en 2023.pdf practicag
jairoperezjpnazca
 

Recently uploaded (20)

API-581. inspección basa en riesgos confiabilidad
API-581. inspección basa en riesgos confiabilidadAPI-581. inspección basa en riesgos confiabilidad
API-581. inspección basa en riesgos confiabilidad
 
cetoacidosis diabetica en pacientes.pptx
cetoacidosis diabetica en pacientes.pptxcetoacidosis diabetica en pacientes.pptx
cetoacidosis diabetica en pacientes.pptx
 
Diagnóstico Institucional en psicologia.docx
Diagnóstico  Institucional en psicologia.docxDiagnóstico  Institucional en psicologia.docx
Diagnóstico Institucional en psicologia.docx
 
Presentación diagrama de flujo del desarrollo aronautico.pptx
Presentación diagrama de flujo del desarrollo aronautico.pptxPresentación diagrama de flujo del desarrollo aronautico.pptx
Presentación diagrama de flujo del desarrollo aronautico.pptx
 
Licencias por enfermedad de hijo menor de 2 años chile
Licencias por enfermedad de hijo menor de 2 años chileLicencias por enfermedad de hijo menor de 2 años chile
Licencias por enfermedad de hijo menor de 2 años chile
 
Diapositivas del fenómeno del niño 123 resumido
Diapositivas del fenómeno del niño 123 resumidoDiapositivas del fenómeno del niño 123 resumido
Diapositivas del fenómeno del niño 123 resumido
 
Desarrollo de Habilidades de Pensamiento Informatica
Desarrollo de Habilidades de Pensamiento InformaticaDesarrollo de Habilidades de Pensamiento Informatica
Desarrollo de Habilidades de Pensamiento Informatica
 
Primeros 70 países por IDH ajustado por desigualdad (2024).pdf
Primeros 70 países por IDH ajustado por desigualdad  (2024).pdfPrimeros 70 países por IDH ajustado por desigualdad  (2024).pdf
Primeros 70 países por IDH ajustado por desigualdad (2024).pdf
 
Desafíos y Oportunidades de la Educación Media Técnico Profesional en Chil...
Desafíos y Oportunidades de la Educación Media Técnico Profesional en Chil...Desafíos y Oportunidades de la Educación Media Técnico Profesional en Chil...
Desafíos y Oportunidades de la Educación Media Técnico Profesional en Chil...
 
El narcisismo actualmente en el mundo 2024
El narcisismo actualmente en el mundo 2024El narcisismo actualmente en el mundo 2024
El narcisismo actualmente en el mundo 2024
 
Portada De Revista De Ciencia Elegante Moderno Azul y Amarillo.pdf
Portada De Revista De Ciencia Elegante Moderno Azul y Amarillo.pdfPortada De Revista De Ciencia Elegante Moderno Azul y Amarillo.pdf
Portada De Revista De Ciencia Elegante Moderno Azul y Amarillo.pdf
 
Presentación Cuenta Pública HLS 2023.pptx
Presentación Cuenta Pública HLS 2023.pptxPresentación Cuenta Pública HLS 2023.pptx
Presentación Cuenta Pública HLS 2023.pptx
 
Tecnologia de materiales T01- Agregados.docx (1).pdf
Tecnologia de materiales T01- Agregados.docx (1).pdfTecnologia de materiales T01- Agregados.docx (1).pdf
Tecnologia de materiales T01- Agregados.docx (1).pdf
 
Proyecto minero las bambas – Apurímac 3.pptx
Proyecto minero las bambas – Apurímac 3.pptxProyecto minero las bambas – Apurímac 3.pptx
Proyecto minero las bambas – Apurímac 3.pptx
 
PRACTICA 1 SOCIOLOGÍA ANÁLISIS SOCIOLÓGICO.pdf
PRACTICA 1 SOCIOLOGÍA ANÁLISIS SOCIOLÓGICO.pdfPRACTICA 1 SOCIOLOGÍA ANÁLISIS SOCIOLÓGICO.pdf
PRACTICA 1 SOCIOLOGÍA ANÁLISIS SOCIOLÓGICO.pdf
 
ORIENTACIONES PSIET orientación sobre el pesiet
ORIENTACIONES PSIET orientación sobre el pesietORIENTACIONES PSIET orientación sobre el pesiet
ORIENTACIONES PSIET orientación sobre el pesiet
 
Morfofisiopatologia Humana I________ UCS
Morfofisiopatologia Humana I________ UCSMorfofisiopatologia Humana I________ UCS
Morfofisiopatologia Humana I________ UCS
 
Bioquímica ilustrada tomo 50- introduccion .pdf
Bioquímica ilustrada tomo 50- introduccion .pdfBioquímica ilustrada tomo 50- introduccion .pdf
Bioquímica ilustrada tomo 50- introduccion .pdf
 
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNATREGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
REGIMEN MYPE TRIBUTARIO HECHO PARA APORTES PARA LA SUNAT
 
Pobreza en el Perú en 2023.pdf practicag
Pobreza en el Perú en 2023.pdf practicagPobreza en el Perú en 2023.pdf practicag
Pobreza en el Perú en 2023.pdf practicag
 

comparacion.PPTX, gestión de empresas y negocios

  • 1. Análisis de Algoritmos  Metodologías para el análisis de algoritmos  Notación asintótica  Elementos matemáticos  Otras técnicas de análisis 1
  • 2. Metodologías para el análisis de algoritmos  La complejidad de un algoritmo estudia los recursos necesarios (tiempo y memoria) que requiere un algoritmo.  El tiempo de ejecución de un algoritmo o es prioritario cuando se analiza un algoritmo.  El tiempo de ejecución de un algoritmo o estructura de datos depende de varios factores relativos al hardware (procesador, reloj, memoria, disco, etc) y el software (sistema operativo, lenguaje, compilador, etc.). 2
  • 3. Metodologías para el análisis de algoritmos  Medida del tiempo de ejecución: experimentación. Escribir un programa que implemente el algoritmo. Ejecutar el programa con un conjunto de datos que varían en tamaño y composición (peor caso, mejor caso, caso promedio) . Usar un método como System.currentTimeMillis() para obtener una medida precisa del tiempo de ejecución. 3
  • 4. Metodologías para el análisis de algoritmos  Medida del tiempo en Java: experimentación. long startTime = System.currentTimeMillis(); // retorna el tiempo en miliseconds desde 1/1/1970 GMT // código a ser medido long elapsedTime = System.currentTimeMillis() - startTime; 4
  • 5. Metodologías para el análisis de algoritmos  Medida del tiempo en Java: experimentación. 5 50 100 0 t (ms) n 10 20 30 40 50 60
  • 6. Metodologías para el análisis de algoritmos  Medida del tiempo en Java (más preciso): long startTime = System.currentTimeMillis(); long counter; do { counter++; hacerAlgo ( ); } while (System.currentTimeMillis() - startTime < 1000), long elapsedTime = (System.currentTimeMillis() - startTime) / counter; 6
  • 7. Metodologías para el análisis de algoritmos  Interesa hallar la dependencia del tiempo de ejecución en función del tamaño de la entrada.  Un método para estudiar el tiempo de ejecución es la experimentación, que tiene limitaciones: Los experimentos se pueden hacer sobre un conjunto limitado de entradas de prueba. Es necesario realizar los experimentos con el mismo hardware y software. Es necesario implementar y ejecutar el algoritmo. 7
  • 8. Metodologías para el análisis de algoritmos  Adicionalmente a la experimentación conviene disponer de un enfoque analítico que: Tome en consideración todas las posibles entradas. Permita evaluar la eficiencia de dos algoritmos de forma independiente del hardware y software. Se pueda realizar estudiando una representación de alto nivel del algoritmo sin necesidad de implementarlo. 8
  • 9. Pseudocódigo  Pseudocódigo es una descripción de un algoritmo más estructurada que la verbal pero menos formal que la de un lenguaje de programación.  Ejemplo: hallar el elemento mayor de un array. Algorithm arrayMax(A, n): Input: Un array A que almacena n enteros. Output: El máximo elemento en A. currentMax  A[0] for i 1 to n -1 do if currentMax < A[i] then currentMax  A[i] return currentMax  Pseudocódigo es la notación preferida para describir algoritmos. 9
  • 10. Qué es pseudocódigo  Una mezcla de lenguaje natural y conceptos de programación de lato nivel que describen las proncipales ideas que están en una implementación genérica de una estructura de datos o algoritmo. -Expresiones: usa símbolos matemáticos standard para describir expresiones numéricas y booleanas -usa  for assignment (“=” in Java) -usa = for the equality relationship (“==” in Java) -Declaración de métodos: -Algorithm nombre(param1, param2) -Bloques Programación: - decision structures: if ... then ... [else ... ] - while-loops: while ... do - repeat-loops: repeat ... until ... - for-loop: for ... do - array indexing: A[i] -Métodos: - llamadas: object method(args) - returns: return value 10
  • 11. Análisis de algoritmos  Operaciones Primitivas: se pueden identificar en el pseudocódigo instrucciones de bajo nivel independientes del lenguaje de programación.  Ejemplos:  llamar un método y retornar de un método  operaciones aritméticas (e.g. suma)  comparación de dos números, etc.  Inspeccionando el pseudocódigo se puede contar el número de operaciones primitivas ejecutadas por un algoritmo. 11
  • 12. Ejemplo de conteo Algorithm arrayMax(A, n): Input: Un array A que almacena n enteros. Output: El máximo elemento en A. currentMax  A[0] for i 1 to n -1 do if currentMax < A[i] then currentMax  A[i] return currentMax t(n) = 2 + 1 + n +4(n-1) + 1 = 5n (mínimo) = 2 + 1 + n +6(n-1) + 1 = 7n - 2 (máximo) 12 2 1 n 4(n-1) | 6(n-1) 1
  • 13. Tiempo de ejecución  Usar la notación Big-Oh para expresar el número de operaciones primitivas ejecutadas como función del tamaño de entrada.  Ejemplo: decimos que el algoritmo arrayMax se ejecuta en tiempo O(n).  Comparación de tiempos de ejecución asintóticos - un algoritmo que corre en tiempo O(n) es mejor que uno que corre en tiempo O(n2) - de forma similar, O(log n) es mejor que O(n) - jerarquía de funciones: log n << n << n2 << n3 << 2n  Cuidado! Con los factores constantes muy grandes. Un algoritmo que corre en tiempo 1,000,000 n todavía es O(n) pero puede ser menor eficiente para un conjunto de datos que uno que corre en tiempo 2n2, que es O(n2) 13