Fondamenti di informatica (SSE e Statistica) Prova scritta del 4 giugno 2001 Domanda 1 Scrivere un programma C che legge da tastiera 20 interi, e li stampa ordinati in senso non decrescente usando l'algoritmo insertion-sort. Calcolare la complessità asintotica del programma proposto, nel caso peggiore. Spiegare il significato delle notazioni usate per esprimere la complessità asintotica. Soluzione #include #include #define NMAX 20 void insertion_sort(int *v) { int i, j, new_el; for(i=1; i0) && (v[j-1]>new_el); j--) { v[j] = v[j-1]; } if (j!=i) v[j]=new_el; } } void leggi_vettore(int *vett) { int i; for (i=0;imedia) /* in questo caso la sottosequenza continua */ lung++; else { /* altrimenti termina */ if (lung>maxlung) /* confronto la lunghezza della s.seq. appena terminata con maxlung */ maxlung=lung; /* ed eventualmente aggiorno */ lung=0; /* in ogni caso la sottosequenza e' terminata, e lung riparte da 0 */ } } if (lung>maxlung) /* confronto la lunghezza dell'ultima s.seq. */ maxlung=lung; return maxlung; }