Questo è tutto molto ondulato a mano, ma c'è una ragione matematica per cui non usiamo Theta (c) e invece usiamo Theta (1). Userò la notazione Big O per mostrarlo.
Ha a che fare con una proprietà della notazione Big Theta (così come Big O e Big Omega). Se hai una funzione con tasso di crescita O(g(x))
e un'altra con tasso di crescita O(c * g(x))
dove c
è una certa costante, diresti che hanno lo stesso tasso di crescita. Questo è O(c * g(x)) = O(g(x))
Possiamo dire questo perché la definizione di notazione Big O ( f(x) = O(g(x))
) significa che abbiamo una funzione f(x)
e funzione g(x)
tali che |f(x)| <= k * |g(x)|
per alcuni costanti k
e valori abbastanza grandi di% codice%. Quando si moltiplica per la costante x
, avremmo quindi:
c
dove O(c * g(x)) => k * |c * g(x)| = k * |c| * |g(x)| <= k' * g(x)
Tieni presente che k' = k * |c|
per alcuni |k' * g(x)| <= k'' g(x)
costanti e valori abbastanza grandi di k''
, il che significa che x
cresce ad un tasso di k' * g(x)
e quindi O(g(x))
Quando O(c * g(x)) = O(g(x))
, abbiamo g(x) = 1
crescita, dicendo O(1)
crescita per un valore di O(c)
non ci dice nulla perché la costante è già calcolata nella definizione di notazione Big O. c
semplificato
semplificato