Junior — Middle
Ar galite pateikti pavyzdžių duomenų struktūrų, kurios užtikrina greitą prieigą prie elemento pastoviu laiku?
sobes.tech AI
Atsakymas iš AI
Duomenų struktūros, užtikrinančios prieigą prie elemento per pastovų laiką (O(1)), apima:
- Hash lentelės (HashMap, HashSet) — prieiga per raktą vyksta amortizuotu pastoviu laiku.
- Masyvai (Array) — prieiga per indeksą vyksta pastoviu laiku.
Pavyzdys Kotlin kalba HashMap:
val map = hashMapOf("key1" to "value1", "key2" to "value2")
val value = map["key1"] // O(1) prieiga
Svarbu atsiminti, kad blogiausiu atveju (pvz., kolizijos hash lentelėje) laikas gali pablogėti, bet vidutiniškai prieiga laikoma pastovia.