Paljude probleemide lahendamiseks mõeldud algoritmide väljatöötamisel tekib probleem sageli teatud andmegrupi otsingu rakendamisel vastavalt täpsustatud kriteeriumidele. Järjestatud või järjestamata järjestuse uurimisel saab otsingu teostada erinevate meetoditega. Üldjuhul võetakse otsinguprobleemi lahendamiseks arvesse teatud andmemassiivi, milles on vaja leida antud element.
Juhised
Samm 1
Lihtsaim viis teadaoleva elemendi leidmiseks andmemassiivist on korrata selle väärtusi. See algoritm on optimaalne väikese teabe koguse jaoks. Selle olemus seisneb teadaoleva andmejada (massiivi) läbimises ja iga elemendi võrdlemises soovitud väärtusega. Kui vaste leitakse, saab otsingu lõpule viia või jätkata massiivi lõpuni, sõltuvalt täpsustatud kriteeriumidest.
2. samm
Vaatamata selle meetodi rakendamise lihtsusele on selle kasutamine suures koguses teavet sisaldavates massiivides ebasoovitav, kuna see suurendab oluliselt algoritmi ressursimahukust. Sellisel juhul otsingu optimeerimiseks on parem massiivi väärtused eelnevalt sorteerida ja otsingu algoritmid rakendada: binaarse puu, Fibonacci puu järgi, ekstrapoleerimismeetodi järgi.
3. samm
Järjestatud massiiviga töötamisel kasutage tõhusamat algoritmi - binaarotsingu meetodit. Selle olemus seisneb selles, et intervalli piiride loendamise käigus lähenetakse üksteisele, kitsendades seeläbi otsimisala. Võrrelge otsitavat väärtust massiivi nummerdatud elemendiga. Kui proov vastab elemendile, loetakse probleem lahendatuks. Kui soovitud element on suurem kui keskmine element, tuleb täiendav otsing teostada massiivi osas, mis asub keskmisest elemendist paremal (massiivi algusest kuni keskmise elemendini-1). Kui otsing on väiksem kui keskmine element, jätkub otsing massiivi osas keskmisest kuni viimase elemendini. Olles määranud uue otsinguala, korratakse kirjeldatud algoritmi, tuvastades vasted või kitsendades töötlusala. See skeem sobib kahaneva massiivi korral.
4. samm
Konkreetsed probleemid minimaalse või maksimaalse elemendi leidmisel antud jadas lahendatakse algse elemendi määramisega soovitud elemendiks. Järgmisena viiakse läbi massiivi ülejäänud väärtuste järjestikune loendamine: teine esimesega, kolmas esimesega jne. Standardiks võetud väärtuse võrdlemisel selgub, kas massiivis on element, mis on antud tingimusega paremini kooskõlas (miinimum või maksimum). Kui üks on leitud, võetakse see juba standardiks ja loendamine jätkub praegusest positsioonist massiivi lõpuni. Selle tulemusena on selle rühma minimaalne (või maksimaalne) väärtus element, mis tunnistati viimati standardiks.