Junior — Middle
Come viene valutata la complessità temporale dell'operazione di aggiunta di un elemento in TreeSet?
sobes.tech AI
Risposta dell'AI
In Java, la classe TreeSet è implementata su un albero rosso-nero, che è un albero binario di ricerca bilanciato. La complessità temporale dell'operazione di aggiunta di un elemento a TreeSet è O(log n), dove n è il numero di elementi nell'insieme.
Ciò è dovuto al fatto che, per inserire un elemento, si cerca prima nel albero per determinare la posizione corretta, e poi si effettua un bilanciamento dell'albero, che richiede tempo logaritmico.
Esempio:
TreeSet<Integer> set = new TreeSet<>();
set.add(10); // O(log n)
set.add(5); // O(log n)
set.add(20); // O(log n)