Көптөгөн маселелерди чечүү алгоритмдерин иштеп чыгууда, белгилүү бир критерийлер боюнча маалыматтардын белгилүү бир тобун издөөнү ишке ашыруу көйгөйү көп кездешет. Тартипке келтирилген же иретке салынбаган ырааттуулукту изилдөөдө, издөө ар кандай ыкмаларды колдонуу менен жүргүзүлүшү мүмкүн. Жалпы учурда издөө көйгөйүн чечүү үчүн белгилүү бир элемент массиви каралат, анда берилген элементти табуу талап кылынат.
Нускамалар
1 кадам
Берилиштер массивинен белгилүү элементти табуунун эң оңой жолу - анын маанилеринин үстүнөн кайталоо. Бул алгоритм маалыматтын аз көлөмү үчүн оптималдуу. Анын маңызы белгилүү маалыматтар ырааттуулугун (массивин) кыдырып, ар бир элементти керектүү маани менен салыштыруудан турат. Эгерде дал келген критерийлерге ылайык дал табылса, издөө ишин массивдин аягына чейин бүтүрсө болот.
2-кадам
Бирок, бул методду жүзөгө ашыруунун жөнөкөйлүгүнө карабастан, аны көп көлөмдөгү маалыматтарды камтыган массивдерде колдонуу керек эмес, анткени бул алгоритмдин ресурстук сыйымдуулугун кыйла жогорулатат. Бул учурда издөөнү оптималдаштыруу үчүн массивдеги баалуулуктарды алдын-ала сорттоп, издөө алгоритмдерин ишке ашырган оң: экилик дарак, Фибоначчи дарагы, экстраполяция ыкмасы.
3-кадам
Буйрутма массив менен иштөөдө кыйла натыйжалуу алгоритмди - экилик издөө ыкмасын колдонуңуз. Анын маңызы интервалдын чектерин санап чыгуу процессинде бири-бирине жакындап, ошентип издөө чөйрөсүн кыскартып жаткандыгында. Издеп жаткан мааниңизди массивдин номерленген элементине салыштырыңыз. Эгерде тандоо элемент менен дал келсе, маселе чечилди деп эсептелет. Эгер керектүү нерсе ортоңку элементтен чоңураак болсо, анда андан ары издөө массивдин ортоңку элементтин оң жагында жайгашкан бөлүгүндө жүргүзүлүшү керек (массивдин башынан баштап ортоңку элемент-1ге чейин). Эгерде издөө ортоңку элементтен аз болсо, анда издөө массивдин ортосунан акыркы элементине чейин уланат. Издөө үчүн жаңы аймакты аныктап, сүрөттөлгөн алгоритм кайталанып, дал келип, иштетүү чөйрөсү кыскарууда. Бул схема төмөндөө массивине туура келет.
4-кадам
Берилген ырааттуулукта минималдуу же максималдуу элементти табуунун өзгөчө маселелери, баштапкы элементти каалаганына ыйгаруу жолу менен чечилет. Андан кийин, массивдин калган маанилерин ырааттуу саноо жүргүзүлөт: экинчиси биринчиси менен, үчүнчүсү биринчиси менен ж.б. Стандарт катары кабыл алынган чоңдукту салыштырганда массивде берилген шартка (минимумга же максимумга) дал келген элементтин бар же жок экендиги айкын болот. Бирөө табылганда, ал стандарт катары кабыл алынып, эсептөө массивдин учурдагы абалынан аягына чейин уланат. Натыйжада, бул топтогу минималдуу (же максималдуу) маани стандарт болуп акыркы жолу таанылган элемент болуп саналат.