Kun kehitetään algoritmeja monien ongelmien ratkaisemiseksi, ongelma syntyy usein tietyn tietoryhmän haun toteuttamisesta määriteltyjen kriteerien mukaisesti. Kun tutkitaan järjestettyä tai järjestämätöntä jaksoa, haku voidaan suorittaa eri menetelmillä. Yleisessä tapauksessa hakuongelman ratkaisemiseksi otetaan huomioon tietty datajoukko, jossa vaaditaan tietyn elementin löytäminen.
Ohjeet
Vaihe 1
Helpoin tapa löytää tunnettu elementti tietoryhmästä on toistaa sen arvot. Tämä algoritmi on optimaalinen pienille tietomäärille. Sen ydin on tunnetun datasekvenssin (taulukon) kulkeminen ja kunkin elementin vertaaminen haluttuun arvoon. Jos haku löytyy, haku voidaan suorittaa tai jatkaa matriisin loppuun määritettyjen ehtojen mukaan.
Vaihe 2
Huolimatta tämän menetelmän toteuttamisen yksinkertaisuudesta, sen käyttö ei ole toivottavaa suuria määriä tietoa sisältävissä matriiseissa, koska tämä lisää merkittävästi algoritmin resurssiintensiteettiä. Haun optimoimiseksi tässä tapauksessa on parempi lajitella taulukon arvot ennakolta ja toteuttaa hakualgoritmit: binääripuella, Fibonacci-puulla, ekstrapolointimenetelmällä.
Vaihe 3
Kun työskentelet järjestetyn taulukon kanssa, käytä tehokkaampaa algoritmia - binaarihakutapaa. Sen ydin on siinä, että aikavälin rajojen laskemisprosessissa lähestytään toisiaan, mikä kaventaa hakualuetta. Vertaa etsimääsi arvoa taulukon numeroituun elementtiin. Jos näyte vastaa elementtiä, ongelma katsotaan ratkaistuksi. Jos haluttu kohde on suurempi kuin keskielementti, on etsittävä edelleen matriisin osasta, joka sijaitsee keskielementin oikealla puolella (matriisin alusta keskielementtiin-1). Jos haku on pienempi kuin keskielementti, etsintä jatkuu taulukon osassa keskimmäisestä viimeiseen elementtiin. Kun uusi alue on määritetty etsinnälle, kuvattu algoritmi toistetaan tunnistamalla osumat tai kaventamalla käsittelyaluetta. Tämä malli on oikea laskevalle taulukolle.
Vaihe 4
Erityiset ongelmat minimi- tai maksimielementin löytämisessä tietyssä sekvenssissä ratkaistaan antamalla alkuelementti halutuksi. Seuraavaksi suoritetaan taulukon jäljellä olevien arvojen peräkkäinen luettelointi: toinen ensimmäisellä, kolmas ensimmäisellä jne. Vertaamalla standardina otettuja arvoja käy selväksi, onko taulukossa elementti, joka on yhdenmukaisempi annetun ehdon kanssa (minimi tai maksimi). Kun sellainen löytyy, se otetaan jo vakiona, ja luettelo jatkuu nykyisestä sijainnista taulukon loppuun. Tämän seurauksena tämän ryhmän pienin (tai suurin) arvo on elementti, joka tunnistettiin viimeksi standardiksi.