Pri razvoju algoritmov za reševanje številnih problemov se pogosto pojavi težava pri izvajanju iskanja določene skupine podatkov po določenih kriterijih. Pri raziskovanju urejenega ali neurejenega zaporedja lahko iskanje izvedete z različnimi metodami. V splošnem primeru se za rešitev problema iskanja upošteva določeno podatkovno polje, v katerem je treba najti dani element.
Navodila
Korak 1
Najpreprostejši način za iskanje znanega elementa v podatkovni matriki je prelistavanje njegovih vrednosti. Ta algoritem je optimalen za majhne količine informacij. Njeno bistvo je v prehodu po znanem zaporedju podatkov (matriki) in primerjavi vsakega elementa z želeno vrednostjo. Če najdete ujemanje, je iskanje mogoče dokončati ali nadaljevati do konca polja.
2. korak
Kljub enostavnosti izvajanja te metode pa je njena uporaba nezaželena v nizih, ki vsebujejo velike količine informacij, saj to znatno poveča intenzivnost virov algoritma. Za optimizacijo iskanja v tem primeru je bolje, da vrednosti v matriki predhodno razvrstite in uporabite algoritme iskanja: po binarnem drevesu, po Fibonaccijevem drevesu, po metodi ekstrapolacije.
3. korak
Pri delu z urejenim nizom uporabite učinkovitejši algoritem - binarno metodo iskanja. Njeno bistvo je v tem, da se v postopku naštevanja meja intervala približata drug drugemu in tako zožiš območje iskanja. Vrednost, ki jo iščete, primerjajte s oštevilčenim elementom polja. Če se vzorec ujema z elementom, se šteje, da je težava rešena. Če je želeni element večji od srednjega elementa, je treba nadaljnje iskanje opraviti v delu polja, ki se nahaja desno od srednjega elementa (od začetka polja do srednjega elementa-1). Če je iskanje manjše od srednjega elementa, se iskanje nadaljuje v delu polja od srednjega do zadnjega elementa. Po določitvi novega področja za iskanje se opisani algoritem ponovi, ugotovi ujemanja ali zoži območje obdelave. Ta shema je pravilna za padajočo matriko.
4. korak
Posebne težave pri iskanju najmanjšega ali največjega elementa v določenem zaporedju rešimo tako, da začetni element določimo kot želenega. Nato se izvede zaporedno oštevilčenje preostalih vrednosti polja: drugo s prvo, tretjo s prvo itd. Ko primerjamo standardno vrednost, postane jasno, ali je v matriki element, ki je bolj skladen z danim pogojem (najmanjši ali največji). Ko ga najdete, ga že vzamete za standard in se oštevilčenje nadaljuje od trenutnega položaja do konca polja. Posledično je najmanjša (ali največja) vrednost v tej skupini element, ki je bil nazadnje prepoznan kot standard.