Ayuda calculo de coste/tiempo de algoritmo

miguel90
ForoCoches: Miembro
#1
Tengo que calcular el tiempo que tarda en ejecutarse el algoritmo de bellman-ford sobre unas matrices, el algoritmo en si ya esta hecho y funciona, la duda es que me piden que calcule un tiempo para cada posible par de aristas
(una inicial y otra final) y no se me ocurre como hacer esto.

nose muy bien como explicarlo, a ver si alguien me puede ayudar aunque sea diciendo por donde investigar

Código:
//calculo de tiempos
//Esta parte es la que se tiene que ejecutar para que "inicial" y "final" cada vez sean una arista
    do{

    t_inicial= clock ();

    bellmanFord( inicial,final );
    t_final= clock ();
    t += ( t_final - t_inicial )/( double ) CLOCKS_PER_SEC ;
   
    } while (loquesea)

return 0;
}

a ver si hay suerte que ya es un poco tarde
destroyers
ForoCoches: Miembro
#2
pero si ya lo tienes hecho, no te entiendo muy bien
destroyers
ForoCoches: Miembro
#3
lo que pasa es que clock no es muy preciso, te puede salir cero. Busca en google que hay otra función más precisa
miguel90
ForoCoches: Miembro
#4
lo que me falta es que en cada llamada a belmanford tengo que pasarle cada una de las aristas

ej:
1-2
1-3
1-4
2-3
2-4
3-4.....

Cita de destroyers
lo que pasa es que clock no es muy preciso, te puede salir cero. Busca en google que hay otra función más precisa
ya eso tambien lo he leido en sitios pero bueno no me preocupa mucho por ahora
destroyers
ForoCoches: Miembro
#5
Cita de miguel90
lo que me falta es que en cada llamada a belmanford tengo que pasarle cada una de las aristas

ej:
1-2
1-3
1-4
2-3
2-4
3-4.....



ya eso tambien lo he leido en sitios pero bueno no me preocupa mucho por ahora
no se como funciona el algoritmo, pero no tienes belmanford(arista1, arista2)?

Pues como tienes el bucle vas cambiando arista1 y arista2
asboxi
ForoCoches: Miembro
#6
tan facil como meter un incremento del arista2 cada vez que terminas el belmanford, y poner un if despues para mirar si es 4
miguel90
ForoCoches: Miembro
#7
nose que he tocado que ahora me viola segmentos,
buena noche me espera xDDD
destroyers
ForoCoches: Miembro
#8
Cita de miguel90
nose que he tocado que ahora me viola segmentos,
buena noche me espera xDDD
ese error me suena a que escribes en zona de memoria no reservada, te pasas en los arrays, ect
miguel90
ForoCoches: Miembro
#9
Cita de destroyers
ese error me suena a que escribes en zona de memoria no reservada, te pasas en los arrays, ect
era un error cuando intentaba mostrar las variables de tipo clock_t

y tambien pasa cuando meto arboles muy grandes, pero eso me lo esperaba

P.D.
ya he conseguido que funcione
SasukeJ
ForoCoches: Miembro
#10
Si lo haces sobre linux, lo mejor es lanzarlo desde un script y allí usas el time.
← A Electrónica / Informática