SlideShare une entreprise Scribd logo
1  sur  7
Estructura de datos 
Unidad VII 
Análisis de algoritmos 
Rubi verónica chimal Cuxin.
Introducción 
Comprender la complejidad de los algoritmos e identificar la eficiencia de los 
mismos. En si es solo entender y analizar a detalle todo lo visto anteriormente en 
una forma algorítmica.
Concepto de complejidad de algoritmos. 
La mayoría de los problemas que se plantean en la actualidad se pueden resolver 
con algoritmos que difieren en su eficiencia. Dicha diferencia puede ser irrelevante 
cuando el número de datos es pequeño pero cuando la cantidad de datos es 
mayor la diferencia crece. Ejemplo: Suma de 4 y 10 primero números naturales. 
1+2+3+4 = 10 
1+2+3+4+5+6+7+8+9+10 = 55 
3 3 
tiempo 
9 3 
4*(4+1)/2 = 10 
10*(10+1)/2 = 55 
La complejidad de un algoritmo o complejidad computacional, estudia los recursos 
y esfuerzos requeridos durante el cálculo para resolver un problema los cuales se 
dividen en: tiempo de ejecución y espacio en memoria. El factor tiempo, por lo 
general es más importante que el factor espacio, pero existen algoritmos que 
ofrecen el peor de los casos en un menor tiempo que el mejor de los casos, lo cual 
no es la mejor de las soluciones. 
Complejidad.
Tiempo de ejecución de un algoritmo. 
El tiempo de ejecución de un algoritmo, se refiere a la suma de los tiempos en los 
que el programa tarda en ejecutar una a una todas sus instrucciones, tomando en 
cuanta que cada instrucción requiere una unidad de tiempo, dicho tiempo se 
puede calcular en función de n (el numero de datos), lo que se denomina T(n) 
En forma específica, una operación primitiva corresponde a una instrucción en el 
lenguaje de bajo nivel, cuyo tiempo de ejecución depende del ambiente de 
hardware y software, pero es constante. Ejemplo. Método que retorna el número 
mayor de un arreglo de n elementos. 
public int Mayor() 
{ 
int may=arr[0]; 
for(ind=0; ind<arr.length; ind++) 
if(arr[ind]>may) 
may=arr[ind]; 
return may; 
} 
Para este ejemplo se pueden encontrar dos formulas que determinen el tiempo de 
ejecución, la primera representa el peor de los casos y la segunda el mejor de los 
casos. Para se creación se sigue el programa: 
- La inicialización de la variable may=arr[0], corresponde a dos unidades 
de tiempo. 
- La inicialización del ciclo for agrega otra unidad de tiempo.
- La condición del ciclo for se ejecuta desde 1 hasta el tamaño del 
arreglo lo cual agrega el número de unidades del tamaño del arreglo. 
- El cuerpo del ciclo for se ejecuta el tamaño del arreglo - 1 veces, para 
este caso el numero de operaciones del cuerpo del ciclo pueden ser 6 o 4 
(condición del if dos, asignación a may dos e incremento y asignación dos) 
en el peor o mejor de los casos respectivamente. Por consiguiente el 
cuerpo del ciclo contribuye con 4(tamaño del arreglo - 1) o 6(tamaño del 
arreglo - 1) unidades de tiempo. 
- Y el retorno de may aporta una unidad de tiempo. 
Con todo lo anterior se logra obtener las siguientes formulas (tamaño del arreglo o 
arr.length se cambian por n): 
T(n) = 2+1+n+6(n-1)+1 = 7n-2 Peor de los casos. 
T(n) = 2+1+n+4(n-1)+1 = 5n Mejor de los casos. 
Complejidad en espacio. 
La complejidad de espacio, se refiere a la memoria que utiliza un programa para 
su ejecución; es decir el espacio de memoria que ocupan todas las variables 
propias del programa. Dicha memoria se divide en Memoria estática y Memoria 
dinámica.Para calcular la memoria estática, se suman la cantidad de memoria que 
ocupa cada una de las variables declaradas en el programa.Tomando en cuenta 
los tipos de datos primitivos del lenguaje de programación java podemos 
determinar el espacio que requiere cada una de las variables de un programa, de 
acuerdo a lo siguiente: 
Tipo de dato primitivo Tamaño en bits Tamaño en Bytes
byte 
char 
short 
int 
float 
long 
double 
8 
16 
16 
32 
32 
64 
64 
1 
2 
2 
4 
4 
8 
8
Conclusión 
Al finalizar la unidad sabremos el orden lógico y algorítmico de lo visto en 
unidades pasadas. La complejidad de un algoritmo son más que los recursos y 
esfuerzos requeridos durante el cálculo para resolver un problema los cuales se 
dividen en: tiempo de ejecución y espacio en memoria. El factor tiempo, por lo 
general es más importante que el factor espacio, pero existen algoritmos que 
ofrecen el peor de los casos en un menor tiempo que el mejor de los casos, lo cual 
no es la mejor de las soluciones.

Contenu connexe

Tendances

Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.
William Devia
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
Fuerza Auriazul
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
Carlos Solano
 
Estructura de los sistemas operativos
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativos
ANDREA
 
Analisis y diseño algoritmos
Analisis y diseño algoritmosAnalisis y diseño algoritmos
Analisis y diseño algoritmos
Enrique Y Ch
 
Definición e historia de las herramientas case
Definición e historia de las herramientas caseDefinición e historia de las herramientas case
Definición e historia de las herramientas case
IngenierosD
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
rafaelrojas91
 

Tendances (20)

Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.Integridad, robustez y estabilidad.
Integridad, robustez y estabilidad.
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Sistema Jerarquico
Sistema JerarquicoSistema Jerarquico
Sistema Jerarquico
 
Metodologia Kendall y Kendall (1.997)
Metodologia Kendall y Kendall (1.997)Metodologia Kendall y Kendall (1.997)
Metodologia Kendall y Kendall (1.997)
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Sintaxis de los algoritmos estructurados
Sintaxis de los algoritmos estructuradosSintaxis de los algoritmos estructurados
Sintaxis de los algoritmos estructurados
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
Antecedentes de los sistemas distribuidos.
Antecedentes de los sistemas distribuidos.Antecedentes de los sistemas distribuidos.
Antecedentes de los sistemas distribuidos.
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Estructura de los sistemas operativos
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativos
 
Analisis y diseño algoritmos
Analisis y diseño algoritmosAnalisis y diseño algoritmos
Analisis y diseño algoritmos
 
Definición e historia de las herramientas case
Definición e historia de las herramientas caseDefinición e historia de las herramientas case
Definición e historia de las herramientas case
 
Investigacion preliminar
Investigacion preliminarInvestigacion preliminar
Investigacion preliminar
 
Capítulo 15 (Algoritmos para el procesamiento y optimizacion de consultas)
Capítulo 15 (Algoritmos para el procesamiento y optimizacion de consultas)Capítulo 15 (Algoritmos para el procesamiento y optimizacion de consultas)
Capítulo 15 (Algoritmos para el procesamiento y optimizacion de consultas)
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
 
Métodos de ordenación externa
Métodos de ordenación externaMétodos de ordenación externa
Métodos de ordenación externa
 
Caracterizacion del paralelismo
Caracterizacion del paralelismoCaracterizacion del paralelismo
Caracterizacion del paralelismo
 
Sistemas operativos windows.pptx
Sistemas operativos windows.pptx Sistemas operativos windows.pptx
Sistemas operativos windows.pptx
 

En vedette

Plantilla y contenido presentaciones milena educa regional 2014 3
Plantilla y contenido presentaciones milena educa regional 2014 3Plantilla y contenido presentaciones milena educa regional 2014 3
Plantilla y contenido presentaciones milena educa regional 2014 3
agresividadescolar
 
Diseño de un modelo de base de datos2 (2y3 fase)
Diseño de un modelo de base de datos2 (2y3 fase)Diseño de un modelo de base de datos2 (2y3 fase)
Diseño de un modelo de base de datos2 (2y3 fase)
arlisrobles
 

En vedette (20)

LECTIO DIVINA EVANGELIO DOMINICAL Mc 6., 30, 34
 LECTIO DIVINA EVANGELIO DOMINICAL  Mc 6., 30, 34 LECTIO DIVINA EVANGELIO DOMINICAL  Mc 6., 30, 34
LECTIO DIVINA EVANGELIO DOMINICAL Mc 6., 30, 34
 
Viajes Ahora
Viajes AhoraViajes Ahora
Viajes Ahora
 
Reseña
Reseña Reseña
Reseña
 
TIC en México
TIC en México TIC en México
TIC en México
 
Madrid repaso
Madrid repasoMadrid repaso
Madrid repaso
 
Plantilla y contenido presentaciones milena educa regional 2014 3
Plantilla y contenido presentaciones milena educa regional 2014 3Plantilla y contenido presentaciones milena educa regional 2014 3
Plantilla y contenido presentaciones milena educa regional 2014 3
 
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
 
Redes
RedesRedes
Redes
 
Universidad de panama
Universidad de panamaUniversidad de panama
Universidad de panama
 
Cte 2014 2015 cuarta sesion ordinaria
Cte 2014 2015 cuarta sesion ordinariaCte 2014 2015 cuarta sesion ordinaria
Cte 2014 2015 cuarta sesion ordinaria
 
Informe viajes al exterior 28-11-14
Informe viajes al exterior 28-11-14Informe viajes al exterior 28-11-14
Informe viajes al exterior 28-11-14
 
Evidencias1 (Diapositivas - Rubi Veronica)
Evidencias1 (Diapositivas  - Rubi Veronica)Evidencias1 (Diapositivas  - Rubi Veronica)
Evidencias1 (Diapositivas - Rubi Veronica)
 
Diseño de un modelo de base de datos2 (2y3 fase)
Diseño de un modelo de base de datos2 (2y3 fase)Diseño de un modelo de base de datos2 (2y3 fase)
Diseño de un modelo de base de datos2 (2y3 fase)
 
C. armando ochoa
C. armando ochoaC. armando ochoa
C. armando ochoa
 
Brucelosis
BrucelosisBrucelosis
Brucelosis
 
Seminario número 7
Seminario número 7Seminario número 7
Seminario número 7
 
SYNERGYO2 USA OFERTAS MAYO 2015
SYNERGYO2 USA OFERTAS MAYO 2015SYNERGYO2 USA OFERTAS MAYO 2015
SYNERGYO2 USA OFERTAS MAYO 2015
 
Efecto de actividades turísticas sobre el comportamiento de fauna representat...
Efecto de actividades turísticas sobre el comportamiento de fauna representat...Efecto de actividades turísticas sobre el comportamiento de fauna representat...
Efecto de actividades turísticas sobre el comportamiento de fauna representat...
 
4 maravillosos rincones para visitar en Uruguay
4 maravillosos rincones para visitar en Uruguay4 maravillosos rincones para visitar en Uruguay
4 maravillosos rincones para visitar en Uruguay
 
camilo hernandez
camilo hernandez camilo hernandez
camilo hernandez
 

Similaire à Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)

Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7
lenithoz
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
rehoscript
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
Dariana Acuariogv
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
Gaston Demundo
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
Johnfornerod
 

Similaire à Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica) (20)

Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datos
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
Unidad 7 informe técnico
Unidad 7 informe técnicoUnidad 7 informe técnico
Unidad 7 informe técnico
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Notación Asintótica
Notación AsintóticaNotación Asintótica
Notación Asintótica
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)
 
analisis de los algoritmos
analisis de los algoritmosanalisis de los algoritmos
analisis de los algoritmos
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
 

Dernier

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Dernier (20)

TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 

Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)

  • 1. Estructura de datos Unidad VII Análisis de algoritmos Rubi verónica chimal Cuxin.
  • 2. Introducción Comprender la complejidad de los algoritmos e identificar la eficiencia de los mismos. En si es solo entender y analizar a detalle todo lo visto anteriormente en una forma algorítmica.
  • 3. Concepto de complejidad de algoritmos. La mayoría de los problemas que se plantean en la actualidad se pueden resolver con algoritmos que difieren en su eficiencia. Dicha diferencia puede ser irrelevante cuando el número de datos es pequeño pero cuando la cantidad de datos es mayor la diferencia crece. Ejemplo: Suma de 4 y 10 primero números naturales. 1+2+3+4 = 10 1+2+3+4+5+6+7+8+9+10 = 55 3 3 tiempo 9 3 4*(4+1)/2 = 10 10*(10+1)/2 = 55 La complejidad de un algoritmo o complejidad computacional, estudia los recursos y esfuerzos requeridos durante el cálculo para resolver un problema los cuales se dividen en: tiempo de ejecución y espacio en memoria. El factor tiempo, por lo general es más importante que el factor espacio, pero existen algoritmos que ofrecen el peor de los casos en un menor tiempo que el mejor de los casos, lo cual no es la mejor de las soluciones. Complejidad.
  • 4. Tiempo de ejecución de un algoritmo. El tiempo de ejecución de un algoritmo, se refiere a la suma de los tiempos en los que el programa tarda en ejecutar una a una todas sus instrucciones, tomando en cuanta que cada instrucción requiere una unidad de tiempo, dicho tiempo se puede calcular en función de n (el numero de datos), lo que se denomina T(n) En forma específica, una operación primitiva corresponde a una instrucción en el lenguaje de bajo nivel, cuyo tiempo de ejecución depende del ambiente de hardware y software, pero es constante. Ejemplo. Método que retorna el número mayor de un arreglo de n elementos. public int Mayor() { int may=arr[0]; for(ind=0; ind<arr.length; ind++) if(arr[ind]>may) may=arr[ind]; return may; } Para este ejemplo se pueden encontrar dos formulas que determinen el tiempo de ejecución, la primera representa el peor de los casos y la segunda el mejor de los casos. Para se creación se sigue el programa: - La inicialización de la variable may=arr[0], corresponde a dos unidades de tiempo. - La inicialización del ciclo for agrega otra unidad de tiempo.
  • 5. - La condición del ciclo for se ejecuta desde 1 hasta el tamaño del arreglo lo cual agrega el número de unidades del tamaño del arreglo. - El cuerpo del ciclo for se ejecuta el tamaño del arreglo - 1 veces, para este caso el numero de operaciones del cuerpo del ciclo pueden ser 6 o 4 (condición del if dos, asignación a may dos e incremento y asignación dos) en el peor o mejor de los casos respectivamente. Por consiguiente el cuerpo del ciclo contribuye con 4(tamaño del arreglo - 1) o 6(tamaño del arreglo - 1) unidades de tiempo. - Y el retorno de may aporta una unidad de tiempo. Con todo lo anterior se logra obtener las siguientes formulas (tamaño del arreglo o arr.length se cambian por n): T(n) = 2+1+n+6(n-1)+1 = 7n-2 Peor de los casos. T(n) = 2+1+n+4(n-1)+1 = 5n Mejor de los casos. Complejidad en espacio. La complejidad de espacio, se refiere a la memoria que utiliza un programa para su ejecución; es decir el espacio de memoria que ocupan todas las variables propias del programa. Dicha memoria se divide en Memoria estática y Memoria dinámica.Para calcular la memoria estática, se suman la cantidad de memoria que ocupa cada una de las variables declaradas en el programa.Tomando en cuenta los tipos de datos primitivos del lenguaje de programación java podemos determinar el espacio que requiere cada una de las variables de un programa, de acuerdo a lo siguiente: Tipo de dato primitivo Tamaño en bits Tamaño en Bytes
  • 6. byte char short int float long double 8 16 16 32 32 64 64 1 2 2 4 4 8 8
  • 7. Conclusión Al finalizar la unidad sabremos el orden lógico y algorítmico de lo visto en unidades pasadas. La complejidad de un algoritmo son más que los recursos y esfuerzos requeridos durante el cálculo para resolver un problema los cuales se dividen en: tiempo de ejecución y espacio en memoria. El factor tiempo, por lo general es más importante que el factor espacio, pero existen algoritmos que ofrecen el peor de los casos en un menor tiempo que el mejor de los casos, lo cual no es la mejor de las soluciones.