Se lo capisco correttamente, un algoritmo che calcola il valore di una funzione reale ha complessità computazionale O ( g ( n ) ) se vale quanto segue: Quando calcoliamo f con precisione δ richiede nell'ordine dei passaggi g ( n ) .
Tuttavia, se avessimo un algoritmo che prima "trova un algoritmo più efficiente per calcolare " e poi calcola f ?
In altre parole, se avessimo un algoritmo che procede come segue:
Trova un algoritmo efficiente per il calcolo .
usa per calcolare .
In tal caso, non possiamo più parlare di tempo di calcolo che ci vuole per calcolare , per esempio, perché dipende completamente dal fatto che l'algoritmo A ha già trovato l'algoritmo B . In altre parole, il tempo di calcolo richiesto per calcolare f ( 5 ) se 5 è il primo numero associato è di gran lunga maggiore del tempo di calcolo richiesto per calcolare f ( 5 ) dopo che f ( 3 ) è già stato calcolato.
La mia domanda è: esiste un concetto / teoria su questo tipo di algoritmo che trova prima un altro algoritmo prima di calcolare una funzione? In particolare, mi chiedo di analizzare la complessità computazionale di tali algoritmi.