Sobes.tech
Junior — Middle

Kuidas hinnata TreeSet-i elementide lisamise operatsiooni ajakulutust?

sobes.tech AI

Vastus AI-lt

Java keeles on TreeSet klass implementeeritud punase-musta puu alusel, mis on tasakaalustatud binaarne otsingupuu. Operatsiooni elementide lisamise ajakompleksus TreeSetis on O(log n), kus n on kogus olevate elementide arv.

See tuleneb sellest, et elemendi lisamisel otsitakse see esmalt puust, et määrata õige koht, ning seejärel tasakaalustatakse puu, mis võtab logaritmilise aega.

Näide:

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