Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] - Complessità di Tempo e di spazio

    Salve a tutti,
    vorrei sapere se esiste un modo per sapere quanto tempo tempo ci mette un algoritmo ad essere eseguito, mi spiego meglio: se faccio un bubble sort, come faccio a sapere quanto tempo ( calcolato in hh:mm:ss ) impiega ad effettuare l'ordinamtento dell'array, per lo spazio credo che si possa usare sizeof()... ma per il tempo, non mi viene in mente niente!!!

    Help!

  2. #2
    c'è un suggerimento su come poter integrare la funzione time() ???

  3. #3
    ho trovato in rete questo codice:

    Codice PHP:

    /* Complessita' temporale analisi con cronometro */
    #include<stdio.h>
    #include<time.h>

    #define N 15000

    float somma(float*, int);
    float sommar(float*, int);

    float sommar(float lista[], int n)
    {
        if (
    n)
            return 
    somma(listan-1) + lista[n-1];
        else
            return 
    0;
    }

    float somma(float lista[], int n)
    {
        
    float sommatemp=0;
        
    int ii;
        for(
    ii=0ii<nii++)
            
    sommatemp += lista[ii];
        return 
    sommatemp;
    }

    int main(int argcchar **argv)
    {
     
    float lista[N];
     
    clock_t startstop;
     
    int ii;

     for(
    ii=0;ii<N;ii++)
      
    lista[ii]=ii*ii;

     
    start clock();
      
    printf("risultato: %f\n"somma(lista,N));
     
    stop clock();
     
    printf("Somma iterativa: %g \n", ((double)(stop-start))/CLK_TCK);
     
    start clock();
      
    printf("risultato: %f\n"sommar(lista,N));
     
    stop clock();
     
    printf("Somma ricorsiva: %g \n", ((double)(stop-start))/CLK_TCK);
     
     
    system("PAUSE");
     return 
    0;


    Ma ho paura che non funzioni perchè stampa sempre 0, e poi che rappresenta %g ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    305
    Originariamente inviato da Vincent
    ho trovato in rete questo codice:

    Codice PHP:

    /* Complessita' temporale analisi con cronometro */
    #include<stdio.h>
    #include<time.h>

    #define N 15000

    float somma(float*, int);
    float sommar(float*, int);

    float sommar(float lista[], int n)
    {
        if (
    n)
            return 
    somma(listan-1) + lista[n-1];
        else
            return 
    0;
    }

    float somma(float lista[], int n)
    {
        
    float sommatemp=0;
        
    int ii;
        for(
    ii=0ii<nii++)
            
    sommatemp += lista[ii];
        return 
    sommatemp;
    }

    int main(int argcchar **argv)
    {
     
    float lista[N];
     
    clock_t startstop;
     
    int ii;

     for(
    ii=0;ii<N;ii++)
      
    lista[ii]=ii*ii;

     
    start clock();
      
    printf("risultato: %f\n"somma(lista,N));
     
    stop clock();
     
    printf("Somma iterativa: %g \n", ((double)(stop-start))/CLK_TCK);
     
    start clock();
      
    printf("risultato: %f\n"sommar(lista,N));
     
    stop clock();
     
    printf("Somma ricorsiva: %g \n", ((double)(stop-start))/CLK_TCK);
     
     
    system("PAUSE");
     return 
    0;


    Ma ho paura che non funzioni perchè stampa sempre 0, e poi che rappresenta %g ?

    devi usare appunto il tempo

    pseudo code

    t1=tempo
    for i{
    ...
    }
    t2=tempo

    //in secondi
    tot=t2-t1
    Oki.lib Libreria per creare il proprio Engine del sound nei propri progetti
    http://www.twork.it/public/oki/guestbook.asp

    Sistemi di Gestione Studio e Sviluppo per giochi a pronostici
    http://www.twork.it/programmi/programmi.html

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.