Qual'è la complessità di tempo e spazio in questo programmino?
codice:
#include <stdio.h>
#include <malloc.h>

/* PROTOTIPO DELLA FUNZIONE */
void horner(float *coeff, int n, float c, float *ris);

/*  PROGRAMMA CHIAMANTE */
main(){

	/* DICHIARAZIONE VARIABILI */
	int i, n;
	float *coeff, r, c;

	/* LETTURA DEL GRADO DEL POLINOMIO */
	printf("Inserire il grado del polinomio: ");
	scanf("%d", &n);

	/* ALLOCAZIONE DINAMICA DELLA MEMORIA */
	if(!(coeff = (float *)malloc(n*sizeof(float))))
	abort();

	/* LETTURA DEI COEFFICIENTI DI A */
	printf("\nInserire uno ad uno i valori dei coefficienti: \n");
	     for(i = 0; i <= n; i++)
	     {
	          printf("Inserire il valore del coeff %d: ", i);
	          scanf("%f", &coeff[i]);
	     }
	
	/* LETTURA DELLA VARIABILE c */
	printf("\nInserisci il valore del punto c: ");
	scanf("%f",&c);
	
	/* RICHIAMO DELLA FUNZIONE */
	horner(coeff, n, c, &r);

	/* STAMPA DEL RISULTATO */
	printf("\nIl polinomio vale: %f \n", r); 
	
	/* RILASCIO DELLA MEMORIA OCCUPATA DALL'ARRAY */
	free(coeff); 
}

/****************** SPECIFICHE FUNZIONE *************************/
void horner(float *coeff, int n, float c, float *ris)
{
	int i, p;
	p = coeff[n];
	for(i = n-1; i >= 0; i--)
     {
	        p = p * c + coeff[i];
	     }
	*ris = p;	
}
Io per il tempo mi trovo T(n)=O(n) ma per lo spazio non lo sò...