1.4 Upiti raspona

Neke strukture podataka su posebno pogodne za probleme u kojima se traži da se nad elementima niza izračunavaju statistike (npr. zbir, minimum, maksimum) nekih segmenata tj. raspona uzastopnih elemenata niza. Zahteve tog tipa nazivamo upiti raspona (engl. range queries). Statički upiti raspona (engl. static range queries), opisani u poglavlju Statički upiti raspona, podrazumevaju da se niz jednom inicijalizuje i nakon toga ne menja, dok dinamički upiti raspona (engl. dynamic range queries), opisani u poglavlju Dinamički upiti raspona, omogućavaju da se niz menja između izračunavanja statistika. Ove strukture podataka obično podržavaju neke od sledećih vrsta upita:

Primetimo da mogućnost efikasnog određivanja zbira elemenata proizvoljnog segmenta niza garantuje ujedno i mogućnost određivanja elementa na datoj poziciji (jer se vrednost tog elementa može odrediti kao zbir jednočlanog segmenta koji sadrži samo taj element). Slično, mogućnost efikasnog ažuriranja proizvoljnog segmenta garantuje mogućnost efikasnog ažuriranja pojedinačnih elemenata niza.

Iako ćemo sve strukture podataka prikazati u jednodimenzionom obliku, u realnim primenama se veoma često razmatraju dvodimenzionalna, pa i trodimenzionalna uopštenja. Na primer, u dvodimenzionalnom slučaju moguće je efikasno očitavati zbirove proizvoljnih pravougaonih segmenata matrice.

Poglavlja: