49
5.3. Тереңдік бойынша толық іріктеп алу әдісі
Тереңдік бойынша іріктеп алуда (
5.5-сурет
) алдымен, соңғы құрылған
шыңдарды ашу керек. Бірінші, ендеше соңғы да ашылатың шың бұл түбір
шыңы. Процесс әрқашанда шыңдардың ең сол жақ тармағы бойынша ӛтеді.
Іріктеп алуды қалай болсада шектеу үшін, іріктеп алу ағашта шыңның
тереңдігі деген ұғым енгізіледі. Ағаштың түбір тереңдігі нӛлге тең, ал
әрбіреу келесі шыңның тереңдігі оның алдындағы
шыңның тереңдігіне тең
бір плюс. Ең үлкен тереңдік осы мезетте ашуға қажетті болатын шыңда. Егер
жасалынған жол пайдасыз болса (яғни берілген тереңдікте мақсатты шың
ашылмаса), онда ашылғанның алдында болған
шыңға қайтып келу керек
және оған тағы да, мақсатты
шыңды алғанша, ашу операциясына әркеттену
қажет. Бұл процесс (бірнеше қадамға қайтып келу)
артқа шегіну немесе
бэктрекинг деп аталады.
Артқа шегіну сілтегіштер кӛмегімен жүзеге асырылады. Берілген
шекаралық
тереңдікке жеткеннен кейін, осы шекарадан аспайтын ең үлкен
тереңдікті шың ашылады. Бұл «кері қадағалауы бар бағдарламалау» (
back
–
track
programming
) деп аталады. Тереңдік бойынша іріктеп алудың сұлбасы
5.5-суретте
кӛрсетілген.
Достарыңызбен бөлісу: