Strukture podataka i algoritmi |
6 Redovi |
Redovi su dinamicki skupovi koji imaju neki koncept poretka. Ovaj koncept moze da se bazira na poretku ulaska u red - dajuci Prvi-Unutra-Prvi-Van (First-In-First-Out = FIFO) ili Poslednji-Unutra-Prvi-Van (Last-In-First-Out = LIFO) redove. Oba tipa mogu da se izvedu pomocu povezanih listi: najjednostavnija "dodavanje-na-glavu" implementacija povezane liste daje LIFO ponasanje. Mala izmena - dodavanje pointera na rep liste uz izmenu implementacije tako da se novi objekat dodaje na rep liste - rezultira FIFO ponasanjem.
Jednom kada imamo O(1) metod, tesko da se bilo sta dalje moze uciniti sa algoritamske tacke gledista. Ponekad, bolji pristup problemu ce rezultirati manjim konstantnim vremenom. Cesto, poboljsanja kompajlera, operativnog sistema, racunara itd. rezultiraju znacajnim unapredjenjima. Medjutim, O(1) metod su vec dovoljno brzi, tako da je malo verovatno da ce se trud ulozen u poboljsanje takvog metoda zaista isplatiti!
Sa straneNajveci deo racunarskih sistema spada u siroku kategoriju informacionih sistema - koji jednostavno skladiste i obradjuju informacije u korist ljudi koji donose odluke u skladu sa tim informacijama. U takvim sistemima, ocigledno, nije bitno da li treba 1 ili 100 sekundi da se nadje podatak - to jednostavno odredjuje da li cete na kafu otici odmah ili kasnije. Medjutim, kao sto cemo videti, koriscenje najboljih poznatih algoritama je obicno lako i direktno: ako se vec ne nalaze u bibliotekama rutina, onda se nalaze u udzbenicima. Cak ne morate ni da se mucite da ih programirate! U takvim slucajevima, patice samo vasa reputacija ako neko (ko je dobro prostudirao njegovu knjigu algoritama!) dodje i kaze"Zaboga, zasto je X (vi!) koristio ovaj O(n2) metod -Jedino ce proizvodjaci hardvera biti veoma srecni ako koristite neefikasne algoritme - to samo pospesuje zahteve za novim i brzim hardverom - i osigurava njihovu veliku zaradu! |
Postoji struktura koja garantuje O(logn) performanse i za dodavanje i za brisanje: ona se zove gomila (heap).
Kljucni pojmovi |
|
Dalje na Gomile Nazad na Sadrzaj |