Junior — Middle
Jaká je časová složitost operace hledání prvku v seznamu implementovaném pomocí slice?
sobes.tech AI
Odpověď od AI
V jazyce Go je slice dynamický pole, které ukládá prvky v sekvenční oblasti paměti. Vyhledávání prvku podle hodnoty v slice vyžaduje prohledání prvků, protože slice není indexován podle hodnoty.
Tedy časová složitost operace hledání prvku v slice je O(n), kde n je počet prvků v slice.
Příklad hledání prvku:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
V nejhorším případě je třeba zkontrolovat všechny prvky.