2013-10-04 28 views
6

Quando n diventa grande, delle due funzioni log * (log n) e log (log * n) sarà più veloce?Quale registro dei tassi di crescita (log * n) e log * (log n) è più veloce?

Qui, il registro * funzione è il logaritmo iterato, definito qui:

enter image description here

ho il sospetto questi sono gli stessi, appena scritto in modo diverso, ma c'è qualche differenza tra loro?

+3

se i tuoi asterischi hanno lo scopo di indicare "logstar", ovvero n log n, potresti voler riscriverlo in questo modo, perché SO li ha analizzati in un modo che immagino tu non intendessi – mfrankli

+2

log * non è n log n. – templatetypedef

+0

buona chiamata, non ho idea di dove l'ho ottenuto da – mfrankli

risposta

13

log * n è il iterated logarithm, che per n grande è definita come

log* n = 1 + log*(log n) 

Pertanto, log * (log n) = (log * n) - 1, poiché registro * è il numero di volte è necessario applicare il registro al valore prima che raggiunga una costante fissa (in genere 1). Fare prima un altro registro rimuove solo un passaggio dal processo.

Pertanto, log (log * n) sarà molto più piccolo di log * (log n) = log * n - 1 poiché log x < x - 1 per ogni x ragionevolmente grande.

Spero che questo aiuti!

+0

wow. bella risposta lì! ;) –