108
2. Ағаш:
а) 0 ағаш (оны "бос ағаш " деп атайды),
б) егер
t
1
және
t
2
—
ағаш болса, онда оның тӛбесін қҧрайтын екі тӛменгі
орналасқан ағашта ағаш болады
3 "факториал"
п!
функциясы (теріс емес бҥтін сан):
а) 0! = 1,
б)
п
>0:
п
! =
п
*(п-
1)!
Рекурсивті алгоритмнің артықшылығы ақырғы тҧжырым кӛмегімен
объектілердің шексіз жиынын анықтауға кӛмектеседі.
Сәйкесінше соңғы рекурсивтік программа кӛмегімен шексіз есептеулер
жҥргізуге болады және программада бірдей қайталаулар кездеспейді.
Алайда
рекурсивті алгоритмдерді негізінен шығарылатын есепте, есептелетін
функцияда немесе ӛңделетін берілгендер қҧрылымында нақты анықталған
рекурсия бар болса. Жалпы жағдайда
Р
рекурсивті программасын S
операторлар жиынынан (
Р-
ны қамтымайтын) және
Р-
ның ӛзінен тҧратын
қандай да бір Р композициясы ретінде ӛрнектеуге болады
:
P=P[S,Р].
Рекурсивті программаларды ӛрнектеу ҥшін процедура немесе ішкі
программа ҧғымын білу қажетті және жеткілікті, себебі олар кез-келген
операторға оған қатынайтын ат қоюға мҥмкіндік туғызады. Егер қандай да бір
Р
процедурасы ӛз ӛзіне нақты сілтеме жасаса, онда оны тура рекурсия деп
аталады, егер
Р
процедурасы
Р-
ға тура немесе жанама сілтеме жасайтын басқа
Q
процедурасына сілтеме жасаса, онда
Р
жанама рекурсия деп аталады.
Сондықтан программа мәтіні бойынша рекурсиялық әрқашан айқын кӛрінбейді.
Негізінен, прохедтрамен сек оры прохедтрада анықсалған және одан сыр
жерде мағынары болмайсын локальді объексілер жиыны, эғни айнымалылар,
конрсансалар, сипсер және прохедтралар жиыны байланырсырылады. Ондай
прохедтралардың әрбір ректрривсі орындалты кезінде байланырқан локальді
айнымалылардың жаңа жиыны құрылады.
Достарыңызбен бөлісу: