elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Tiempo de ejecucion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tiempo de ejecucion  (Leído 2,410 veces)
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Tiempo de ejecucion
« en: 4 Mayo 2014, 23:48 pm »

Hola como estan.

Tengo una duda con respecto al tiempo de ejecucion de acuardo a instrucciones.

Tal vez alquien me pueda explicar por que esto es asi.

Por ejemplo:



Vi esto pero no exiplica por que es asi o por que en el segundo bucle cambia hablando algebraicamente.

Recuardo haber visto sumatorias pero, para encontrar areas en integrales.



entiendo que:
Código
  1. for (int i = 0; i < n; i++) //El tiempo de este bucle seria de O(n)


« Última modificación: 1 Agosto 2014, 12:28 pm por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Tiempo de ejecicion
« Respuesta #1 en: 5 Mayo 2014, 10:02 am »

Las sumatorias te permiten calcular el número de veces que se va a ejecutar el bucle... no el tiempo de ejecución.

Código
  1. for( i=1; i<n; i++ )
Este bucle se ejecuta n veces.

Código
  1. for( j=i+1, j<=n; j++ )
Este bucle se va a ejecutar desde i+1 hasta n... n veces, teniendo en cuenta que i va a ir variando en cada una de esas n veces. Es decir, se va a ejecutar n+(n-1)+(n-2)+(n-3)+...+1. Para expresar esta ecuación de forma genérica necesitas un sumatorio.

Código
  1. for( k=1; k<=j; k++ )
El número de veces que se ejecuta este bucle depende de j, por lo que también depende de i. En este caso necesitas un sumatorio doble porque dependes de dos variables que van variando en cada iteración.


En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Tiempo de ejecicion
« Respuesta #2 en: 5 Mayo 2014, 17:56 pm »

Hola gracias  ;-)

Entendi muy bien la explicacion te lo agardesco esta un poco con fundido en cuanto a como trabajaba

una ultima pregunta segundo, el tiempo de ejecucion de estos bucles seria O(n^3) no?

segun lo que entendi.

Gracias y saludos de nuevo.
En línea

Lo que se puede imaginar... se puede programar.
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Tiempo de ejecicion
« Respuesta #3 en: 5 Mayo 2014, 19:01 pm »

El tiempo de ejecución de un bucle anidado es algo más complicado porque tienes que tener en cuenta el número total de repeticiones del bucle... Ahí es donde entra en juego las ecuaciones de los sumatorios.

Por ejemplo. El tiempo de ejecución de una iteración del primer bucle será igual O(numero de veces que se ejecuta el código del tercer bucle * numero de instrucciones en el tercer bucle )
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Tiempo de ejecicion
« Respuesta #4 en: 5 Mayo 2014, 20:35 pm »

Muchisimas gracias cosas que no explican los libros y si lo hace, lo hacen de forma muy confusa
Ya entendi y me quedo claro las explicaciones. ahora a practicar y sequir leyendo.

Gracias de nuevo y saludos.
En línea

Lo que se puede imaginar... se puede programar.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
tiempo de ejecucion « 1 2 »
Programación C/C++
mapers 11 13,707 Último mensaje 26 Junio 2010, 15:37 pm
por cbug
tiempo de ejecucion!!!
Programación General
mapers 3 3,714 Último mensaje 28 Agosto 2010, 09:00 am
por Littlehorse
Tiempo de ejecución
Programación C/C++
xavirus.g6 3 2,471 Último mensaje 28 Noviembre 2013, 05:26 am
por Vaagish
Tiempo de ejecucion: Ordenamienta Burbuja
Programación C/C++
dlopezo2 5 4,312 Último mensaje 22 Agosto 2014, 22:04 pm
por engel lex
¿Comprobar la firma de una función P/Invoke en tiempo de ejecución?
.NET (C#, VB.NET, ASP)
Eleкtro 1 2,038 Último mensaje 17 Junio 2015, 04:02 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines