@Rufflewind aveva ragione nei commenti, devi sostituire la chiamata alla funzione - pensa più da vicino per copiare / incollare la sottofunzione nella funzione principale. Questo può diventare un po 'fastidioso quando hai chiamate ricorsive, come puoi immaginare.
Una cosa importante da tenere a mente è il "cosa" della tua analisi. Solitamente l'analisi runtime di stile big-O preleva un certo numero di operazioni da misurare: swap, aggiunte, moltiplicazioni, ecc. Potresti avere casi in cui la sottofunzione funziona, ma nessuna delle operazioni viene misurata, nel qual caso dovrebbe abbandonare analisi.
Quindi nel tuo esempio sembra che il ciclo esterno sia O (N) se la sottofunzione non ha funzionato, ma quando lo sostituisci, ti ritroverai con un tipo O (N ^ 2) di operazione.