SlideShare una empresa de Scribd logo
Eficiencia en uso de recursos y 
memoria 
Programación avanzada C++
Repaso 
• Recordemos qué es un algoritmo
Un algoritmo es: 
• Una secuencia de pasos para resolver un 
problema, sus características son: 
– Independiente: Del lenguaje de programación y de 
la máquina. 
– Definido: De pasos claros y concretos. 
– Finito: En el número de pasos que usará. 
– Preciso: Cada paso arroja un cálculo correcto. 
– Recibe datos: Debe poseer datos de entrada.
Recursos necesarios para un programa 
• Tiempo de procesador 
• Memoria RAM 
• Uso de recursos de procesador 
• Los recursos no son infinitos, por eso se debe 
analizar la eficiencia y desempeño de cada 
algoritmo, para encontrar el equilibrio adecuado 
entre realizar la tarea del programa usando la 
menor cantidad de recursos posibles.
Tiempo de ejecución 
• Tiempo de Ejecución 
– El tiempo de Ejecución de un programa se mide 
en función de N, lo que designaremos como T(N). 
– Esta función se puede calcular físicamente 
ejecutando el programa acompañados de un reloj, 
o calcularse directamente sobre el código, 
contando las instrucciones a ser ejecutadas y 
multiplicando por el tiempo requerido por cada 
instrucción.
Tiempo de ejecución (cont.) 
• Así, un trozo sencillo de código como: 
S1; 
for(int x = 0; x < N; x++) 
S2; 
Va a tardar: T(N) = t1 + t2 * N 
• Donde t1 es el tiempo que lleva ejecutar la 
serie S1 de sentencias, y t2 es el que lleva la 
serie S2.
Tiempo de ejecución (cont.) 
• Habitualmente todos los algoritmos contienen 
alguna sentencia condicional o selectiva, 
haciendo que las sentencias ejecutadas 
dependan de la condición lógica, esto hace 
que aparezca más de un valor para T(N), es 
por ello que debemos hablar de un rango de 
valores: 
Tmin(N) ≤ T(N) ≤ Tmax(N)
Ejemplo práctico para calcular tiempo 
de ejecución. 
#include <iostream> 
#include <time.h> //librería para calcular tiempo de ejecución 
#include <math.h> //librería para obtener números aleatorios 
using namespace std; 
void tiempoProc1(void);//procedimiento que contiene instrucciones para calcular 
// tiempo que tarda cierto algoritmo 
int main(){ 
tiempoProc1(); //procedimiento para calcular el tiempo que tarda cierto 
//algoritmo 
system("pause"); 
return 0; 
}//fin main
void tiempoProc1(void){ 
int inicio, fin, t; 
float tiempoSeg; 
inicio = clock();//guarda tiempo inicial 
/*Código a calcular el tiempo---lo podemos cambiar para ver 
cómo se comportan diferentes algoritmos*/ 
for (int i = 0; i<1000; i++) 
cout <<i<<"n"; 
/*Se puede poner el código al cuál queremos calcular el 
tiempo*/ 
fin = clock();//guarda tiempo final 
t = fin - inicio;//calcula tiempo transcurrido 
tiempoSeg=((float)t) / CLOCKS_PER_SEC;//investiga qué 
// significa esta línea 
cout << "El tiempo transcurrido fue: " << tiempoSeg << "n"; 
}//fin tiempoProc1
Probemos este código con varios sub-algoritmos
Usando el ejemplo anterior, 
investiga y responde lo siguiente
¿Cuánto tarda en ejecutarse este ciclo 
for? 
for(int i=0; i<1000;i++) 
cout <<i<<"n";
¿Cuánto tarda este procedimiento de 
arreglo estático? 
void arregloEstatico(void){ 
int aE[10]; //aquí se declara el arreglo estático cuyo tamaño fijo 
//está definido por la constante TAM 
srand(5);//"semilla" para generar números aleatorios 
cout << "nARREGLO ESTATICOn"; 
//ciclo para llenar el arreglo estático 
for (int i = 0; i < 10; i++){ 
cout << "nElemento " << i << " del arreglo: "; 
aE[i] = rand(); 
cout << aE[i]; 
} cout << "n";//imprime en pantalla una línea en blanco 
//ciclo para mostrar arreglo estático 
for (int i = 0; i < 10; i++) 
cout << aE[i] << " "; 
cout << "n";//imprime en pantalla una línea en blanco 
}//fin procedimiento arregloEstatico
¿Cuánto tarda este procedimiento de 
arreglo dinámico? 
void arregloDinamico(void){ 
int tamDin = 0; //variable para que el usuario indique el tamaño del arreglo que quiere 
cout << "nARREGLO DINAMICOn"; 
cout << "Calcula el tamaño del arreglo de enteros: ";//indica a usuario tamaño deseado 
srand(5);//"semilla" para generar números aleatorios 
tamDin = rand(); //se guarda el tamaño en variable tamDin 
cout << " " << tamDin << "n";//se muestra el tamaño aleatorio elegido 
int *pArregloDin; //apuntador para guardar dirección de inicio del arreglo dinámico 
pArregloDin = new int[tamDin]; //se aparta memoria dinámica para el arreglo pArregloDin 
//ciclo para llenar los elementos del arreglo dinámico 
for (int i = 0; i < tamDin; i++){ 
cout << "nElemento " << i << " ";//pide al usuario ingrese cada uno de 
//los elementos del arreglo 
pArregloDin[i] = rand(); 
}//fin for 
cout << "n";//imprime en pantalla una línea en blanco 
//ciclo para mostrar arreglo dinámico 
for (int i = 0; i < tamDin; i++) 
cout << pArregloDin[i] << " "; //fin for 
cout << "n";//imprime en pantalla una línea en blanco 
delete pArregloDin; //librea la memoria dinámica reservada para el arreglo 
}//fin procedimiento arreglo dinámico
Fin del primer elemento de 
eficiencia de uso

Más contenido relacionado

La actualidad más candente

Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#
rezzaca
 

La actualidad más candente (20)

Algoritmo congruencial aditivo
Algoritmo congruencial aditivoAlgoritmo congruencial aditivo
Algoritmo congruencial aditivo
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Producto medio para generar números aleatorios.
Producto medio para generar números aleatorios.Producto medio para generar números aleatorios.
Producto medio para generar números aleatorios.
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Gauss jordan en C
Gauss jordan en CGauss jordan en C
Gauss jordan en C
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 
RESUMEN DE JAVASCRIPT
RESUMEN DE JAVASCRIPTRESUMEN DE JAVASCRIPT
RESUMEN DE JAVASCRIPT
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacio
 
Arreglos
ArreglosArreglos
Arreglos
 
Simulación - Algoritmo lineal
Simulación - Algoritmo linealSimulación - Algoritmo lineal
Simulación - Algoritmo lineal
 
Pruebas De Varianza Uniformidad E Independencia
Pruebas De Varianza Uniformidad E IndependenciaPruebas De Varianza Uniformidad E Independencia
Pruebas De Varianza Uniformidad E Independencia
 
Manual de raptor
Manual de raptor Manual de raptor
Manual de raptor
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz grafica
 
10 Polimorfismo
10   Polimorfismo10   Polimorfismo
10 Polimorfismo
 
Arquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDArquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISD
 

Similar a Eficiencia en uso en algoritmos- tiempo de ejecución

Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
Ronal Palomino
 
Material de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación ComputacionalMaterial de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación Computacional
mnllorente
 

Similar a Eficiencia en uso en algoritmos- tiempo de ejecución (20)

Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
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
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Manual.es
Manual.esManual.es
Manual.es
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
 
ANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOSANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOS
 
Foro de integracion
Foro de integracionForo de integracion
Foro de integracion
 
Foro de integracion
Foro de integracionForo de integracion
Foro de integracion
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
 
5.instrucciones de control en c++ parte 2
5.instrucciones de control en c++  parte 25.instrucciones de control en c++  parte 2
5.instrucciones de control en c++ parte 2
 
Notación Asintótica
Notación AsintóticaNotación Asintótica
Notación Asintótica
 
Foro de integracion
Foro de integracionForo de integracion
Foro de integracion
 
Algoritmos
Algoritmos Algoritmos
Algoritmos
 
Material de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación ComputacionalMaterial de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación Computacional
 
EL ALGORITMO
EL ALGORITMOEL ALGORITMO
EL ALGORITMO
 
Resumen
ResumenResumen
Resumen
 
Resumen
ResumenResumen
Resumen
 

Más de UVM

Más de UVM (20)

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Función main()
Función main()Función main()
Función main()
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#
 

Último

PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdfFerias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
JudithRomero51
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
ansomora123
 
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdfPresentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
juancmendez1405
 

Último (20)

Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.pptMaterial-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
 
3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistas
 
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxMódulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
 
ensayo literario rios profundos jose maria ARGUEDAS
ensayo literario rios profundos jose maria ARGUEDASensayo literario rios profundos jose maria ARGUEDAS
ensayo literario rios profundos jose maria ARGUEDAS
 
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docxPLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
PLAN DE TRABAJO CONCURSO NACIONAL CREA Y EMPRENDE.docx
 
ESTEREOTIPOS Y ROLES DE GÉNERO (labor de grupo)
ESTEREOTIPOS  Y ROLES DE GÉNERO (labor de grupo)ESTEREOTIPOS  Y ROLES DE GÉNERO (labor de grupo)
ESTEREOTIPOS Y ROLES DE GÉNERO (labor de grupo)
 
Presentación Pedagoía medieval para exposición en clases
Presentación Pedagoía medieval para exposición en clasesPresentación Pedagoía medieval para exposición en clases
Presentación Pedagoía medieval para exposición en clases
 
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdfFerias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
 
5.Deicticos Uno_Enfermería_EspanolAcademico
5.Deicticos Uno_Enfermería_EspanolAcademico5.Deicticos Uno_Enfermería_EspanolAcademico
5.Deicticos Uno_Enfermería_EspanolAcademico
 
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docxENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
ENUNCIADOS CUESTIONARIO S9 GEOLOGIA Y MINERALOGIA - GENERAL.docx
 
Sesión de clase: Luz desde el santuario.pdf
Sesión de clase: Luz desde el santuario.pdfSesión de clase: Luz desde el santuario.pdf
Sesión de clase: Luz desde el santuario.pdf
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
 
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
📝 Semana 09 - Tema 01: Tarea - Redacción del texto argumentativo
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 
Cerebelo Anatomía y fisiología Clase presencial
Cerebelo Anatomía y fisiología Clase presencialCerebelo Anatomía y fisiología Clase presencial
Cerebelo Anatomía y fisiología Clase presencial
 
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdfPresentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
Presentación de medicina Enfermedades Fotográfico Moderno Morado (1).pdf
 

Eficiencia en uso en algoritmos- tiempo de ejecución

  • 1. Eficiencia en uso de recursos y memoria Programación avanzada C++
  • 2. Repaso • Recordemos qué es un algoritmo
  • 3. Un algoritmo es: • Una secuencia de pasos para resolver un problema, sus características son: – Independiente: Del lenguaje de programación y de la máquina. – Definido: De pasos claros y concretos. – Finito: En el número de pasos que usará. – Preciso: Cada paso arroja un cálculo correcto. – Recibe datos: Debe poseer datos de entrada.
  • 4. Recursos necesarios para un programa • Tiempo de procesador • Memoria RAM • Uso de recursos de procesador • Los recursos no son infinitos, por eso se debe analizar la eficiencia y desempeño de cada algoritmo, para encontrar el equilibrio adecuado entre realizar la tarea del programa usando la menor cantidad de recursos posibles.
  • 5. Tiempo de ejecución • Tiempo de Ejecución – El tiempo de Ejecución de un programa se mide en función de N, lo que designaremos como T(N). – Esta función se puede calcular físicamente ejecutando el programa acompañados de un reloj, o calcularse directamente sobre el código, contando las instrucciones a ser ejecutadas y multiplicando por el tiempo requerido por cada instrucción.
  • 6. Tiempo de ejecución (cont.) • Así, un trozo sencillo de código como: S1; for(int x = 0; x < N; x++) S2; Va a tardar: T(N) = t1 + t2 * N • Donde t1 es el tiempo que lleva ejecutar la serie S1 de sentencias, y t2 es el que lleva la serie S2.
  • 7. Tiempo de ejecución (cont.) • Habitualmente todos los algoritmos contienen alguna sentencia condicional o selectiva, haciendo que las sentencias ejecutadas dependan de la condición lógica, esto hace que aparezca más de un valor para T(N), es por ello que debemos hablar de un rango de valores: Tmin(N) ≤ T(N) ≤ Tmax(N)
  • 8. Ejemplo práctico para calcular tiempo de ejecución. #include <iostream> #include <time.h> //librería para calcular tiempo de ejecución #include <math.h> //librería para obtener números aleatorios using namespace std; void tiempoProc1(void);//procedimiento que contiene instrucciones para calcular // tiempo que tarda cierto algoritmo int main(){ tiempoProc1(); //procedimiento para calcular el tiempo que tarda cierto //algoritmo system("pause"); return 0; }//fin main
  • 9. void tiempoProc1(void){ int inicio, fin, t; float tiempoSeg; inicio = clock();//guarda tiempo inicial /*Código a calcular el tiempo---lo podemos cambiar para ver cómo se comportan diferentes algoritmos*/ for (int i = 0; i<1000; i++) cout <<i<<"n"; /*Se puede poner el código al cuál queremos calcular el tiempo*/ fin = clock();//guarda tiempo final t = fin - inicio;//calcula tiempo transcurrido tiempoSeg=((float)t) / CLOCKS_PER_SEC;//investiga qué // significa esta línea cout << "El tiempo transcurrido fue: " << tiempoSeg << "n"; }//fin tiempoProc1
  • 10. Probemos este código con varios sub-algoritmos
  • 11. Usando el ejemplo anterior, investiga y responde lo siguiente
  • 12. ¿Cuánto tarda en ejecutarse este ciclo for? for(int i=0; i<1000;i++) cout <<i<<"n";
  • 13. ¿Cuánto tarda este procedimiento de arreglo estático? void arregloEstatico(void){ int aE[10]; //aquí se declara el arreglo estático cuyo tamaño fijo //está definido por la constante TAM srand(5);//"semilla" para generar números aleatorios cout << "nARREGLO ESTATICOn"; //ciclo para llenar el arreglo estático for (int i = 0; i < 10; i++){ cout << "nElemento " << i << " del arreglo: "; aE[i] = rand(); cout << aE[i]; } cout << "n";//imprime en pantalla una línea en blanco //ciclo para mostrar arreglo estático for (int i = 0; i < 10; i++) cout << aE[i] << " "; cout << "n";//imprime en pantalla una línea en blanco }//fin procedimiento arregloEstatico
  • 14. ¿Cuánto tarda este procedimiento de arreglo dinámico? void arregloDinamico(void){ int tamDin = 0; //variable para que el usuario indique el tamaño del arreglo que quiere cout << "nARREGLO DINAMICOn"; cout << "Calcula el tamaño del arreglo de enteros: ";//indica a usuario tamaño deseado srand(5);//"semilla" para generar números aleatorios tamDin = rand(); //se guarda el tamaño en variable tamDin cout << " " << tamDin << "n";//se muestra el tamaño aleatorio elegido int *pArregloDin; //apuntador para guardar dirección de inicio del arreglo dinámico pArregloDin = new int[tamDin]; //se aparta memoria dinámica para el arreglo pArregloDin //ciclo para llenar los elementos del arreglo dinámico for (int i = 0; i < tamDin; i++){ cout << "nElemento " << i << " ";//pide al usuario ingrese cada uno de //los elementos del arreglo pArregloDin[i] = rand(); }//fin for cout << "n";//imprime en pantalla una línea en blanco //ciclo para mostrar arreglo dinámico for (int i = 0; i < tamDin; i++) cout << pArregloDin[i] << " "; //fin for cout << "n";//imprime en pantalla una línea en blanco delete pArregloDin; //librea la memoria dinámica reservada para el arreglo }//fin procedimiento arreglo dinámico
  • 15. Fin del primer elemento de eficiencia de uso

Notas del editor

  1. Leer más: http://www.monografias.com/trabajos27/complejidad-algoritmica/complejidad-algoritmica.shtml#ixzz3G8CE0vTm
  2. Leer más: http://www.monografias.com/trabajos27/complejidad-algoritmica/complejidad-algoritmica.shtml#ixzz3G8Dzewfu