Sobes.tech
Junior — Middle

Kako se procenjuje vremenska složenost operacije pretraživanja elementa po vrednosti u sekvenci tipa slice?

sobes.tech АИ

Одговор од АИ

Vremenska složenost pretraživanja elementa po vrijednosti u rezanju (slice) u Go jeziku je O(n), gdje je n broj elemenata u rezanju.

To je zbog toga što je rezanje uređen niz elemenata bez indeksirane strukture za brzo pretraživanje. Da biste pronašli element, morate proći kroz rezanje sekvencijalno, uspoređujući svaki element s traženom vrijednošću.

Primjer pretraživanja elementa u rezanju:

func contains(slice []int, val int) bool {
    for _, item := range slice {
        if item == val {
            return true
        }
    }
    return false
}

Ako je potrebna brža pretraga, treba koristiti strukture podataka s indeksiranim pristupom, poput mape (map).