Sobes.tech
Junior — Middle

Kui suur on uue elemendi lisamise ajakulud sõnastikku?

sobes.tech AI

Vastus AI-lt

Sõnastiku (näiteks Swift Dictionary või Objective-C NSMutableDictionary) uue elemendi lisamise ajakulud on tavaliselt O(1) keskmiselt. See on tingitud sellest, et sõnastik on rakendatud hash-tabeli alusel, kus hash'i arvutamine ja sisestamine toimuvad konstantsel ajal.

Kuid halvimates tingimustes, kokkupõrgete või sisemise massiivi laiendamise vajaduse korral, võib keerukus ajutiselt tõusta kuni O(n), kus n on elementide arv.

Näide Swiftis:

var dict = [String: Int]()
dict["key"] = 42 // Keskmiselt lisamine O(1)