Balanced binary search tree fornisce un tempo di ricerca garantito O(log(n))
.Esiste un'applicazione pratica degli alberi di tango?
Tango trees raggiunge una ricerca di O(log(log(n))
compromettendo una piccola quantità di memoria per nodo. Mentre capisco che dal punto di vista teorico log(n)
e log(log(n))
fa una grande differenza, per la maggior parte delle applicazioni pratiche non offre quasi alcun vantaggio.
Ad esempio, anche per un numero enorme come n = 10^20
(che è come poche migliaia di petabyte) la differenza tra log(n) = 64
e log(log(n)) = 6
è piuttosto trascurabile. Quindi c'è un uso pratico di un albero di Tango?
Non definirei un ordine di grandezza (64/6) "piuttosto trascurabile". –
@PaulR questo ordine di grandezza viene raggiunto quando si effettua la ricerca tra 10^20 elementi. Per ottenere la differenza che si può notare (1 secondo) ho bisogno di un numero maggiore di 10^1000. –
È assolutamente trascurabile se si ha a che fare con un problema regolare. Se stai facendo alcuni calcoli che richiedono worknig con numeri ENORME (VERAMENTE ENORME) allora forse. – Hristo