Sobes.tech
Junior — Middle

Ako sa hodnotí časová zložitosť operácie pridania prvku do TreeSet?

sobes.tech AI

Odpoveď od AI

V jazyku Java je trieda TreeSet implementovaná na základe červeno-čierneho stromu, ktorý je vyváženým binárnym vyhľadávacím stromom. Časová zložitosť operácie pridania prvku do TreeSet je O(log n), kde n je počet prvkov v množine.

To je spôsobené tým, že pri vkladaní prvku sa najskôr hľadá v strome, aby sa určila správna pozícia, a potom sa strom vyváži, čo trvá logaritmický čas.

Príklad:

TreeSet<Integer> set = new TreeSet<>();
set.add(10); // O(log n)
set.add(5);  // O(log n)
set.add(20); // O(log n)