Junior — Middle
Kuidas hinnata ajakulutuse operatsiooni väärtuse järgi elementide otsimisel slice tüüpi järjestuses?
sobes.tech AI
Vastus AI-lt
Go keeles lõigu (slice) väärtuse järgi elemendi otsimise ajakompleksus on O(n), kus n on lõigu elementide arv.
See tuleneb sellest, et lõik on järjestatud elementide jada ilma indekseeritud struktuurita kiireks otsinguks. Elemendi leidmiseks tuleb läbida lõik järjestikku, võrdledes iga elementi otsitava väärtusega.
Näide elemendi otsimisest lõigus:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
Kui on vaja kiiremat otsingut, tuleks kasutada indekseeritud juurdepääsuga andmestruktuure, näiteks kaarti (map).