Junior — Middle
Slice yordamida amalga oshirilgan ro'yxatda elementni qidirish operatsiyasining vaqt murakkabligi qanday?
sobes.tech AI
AIdan javob
Go tilida, slice — bu dinamik massiv bo‘lib, elementlarni ketma-ketlikda xotira hududida saqlaydi. Slice ichida qiymat bo‘yicha elementni qidirish uchun elementlarni tekshirish kerak, chunki slice qiymat bo‘yicha indekslanmaydi.
Shuning uchun, slice ichida elementni qidirish operatsiyasining vaqt murakkabligi O(n), bu yerda n — slice ichidagi elementlar soni.
Elementni qidirish misoli:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
Bu yerda, eng yomon holatda, barcha elementlarni tekshirish kerak bo‘ladi.