Кампутары, Праграмаванне
Рэкурсіі - гэта што? Рэкурсія у праграмаванні (прыклады)
Рэкурсіі з'яўляюцца цікавымі падзеямі самі па сабе, але ў праграмаванні яны прадстаўляюць асаблівую важнасць у асобных выпадках. Упершыню сутыкаючыся з імі, даволі значная колькасць людзей маюць праблемы з іх разуменнем. Гэта звязана з велізарным полем патэнцыйнага ўжывання самога тэрміна ў залежнасці ад кантэксту, у якім «Рэкурсія» выкарыстоўваецца. Але можна спадзявацца, што гэты артыкул дапаможа пазбегнуць магчымага непаразуменні або неразумення.
Што такое "Рэкурсія" наогул?
Што маюць на ўвазе пад рэкурсіі ў праграмаванні?
Рэкурсія можа быць канчатковай або бясконцай. Для таго каб першая спыніла сама сябе выклікаць, у ёй жа павінны быць умовы спынення. Гэта можа быць памяншэнне значэння зменнай і пры дасягненні пэўнага значэння прыпынак выкліку і завяршэнне праграмы / пераход да наступнага коду, у залежнасці ад патрэбаў дасягнуць пэўных мэтаў. Пад бясконцай рэкурсіі маюць на ўвазе, што яна будзе выклікацца, пакуль будзе працаваць кампутар ці праграма, у якой яна працуе.
Магчымая таксама арганізацыя складанай рэкурсіі з дапамогай двух функцый. Дапусцім, ёсць А і Б. Функцыя А мае ў сваім кодзе выклік Б, а Б, у сваю чаргу, паказвае кампутара на неабходнасць выканаць А. Складаныя рэкурсіі - гэта выхад з цэлага шэрагу складаных лагічных сітуацый для кампутарнай логікі.
Калі хто чытае гэтыя радкі вывучаў праграмныя цыклы, то ён, напэўна, ужо заўважыў падабенства паміж імі і рэкурсіі. У цэлым яны сапраўды могуць выконваць падобныя або ідэнтычныя задання. З дапамогай рэкурсіі зручна рабіць імітацыю працы цыклу. Асабліва гэта карысна там, дзе самі цыклы выкарыстоўваць не вельмі зручна. Схема праграмнай рэалізацыі не моцна адрозніваецца ў розных высокаўзроўневых моў праграмавання. Але ўсё ж Рэкурсія ў "Паскалю" і Рэкурсія ў З або іншай мове мае свае асаблівасці. Можа яна быць паспяхова рэалізавана і ў нізкаўзроўневых мовах накшталт "асэмблер", але гэта з'яўляецца больш праблематычным і затратным па часе.
дрэвы рэкурсіі
- Мае пачатковы спецыяльны вузел, які называюць коранем усяго дрэва.
- Астатнія вузлы знаходзяцца ў колькасці, выдатным ад нуля, парамі неперасякальных падмноства, пры гэтым яны таксама з'яўляюцца дрэвам. Усе такія формы арганізацыі называюць поддерево галоўнага дрэва.
Іншымі словамі: дрэвы ўтрымліваюць поддерево, якія ўтрымліваюць яшчэ дрэвы, але ў меншай колькасці, чым папярэдняе дрэва. Так працягваецца да таго часу, пакуль у адным з вузлоў не застанецца магчымасці прасоўвацца далей, і гэта будзе пазначаць канец рэкурсіі. Ёсць яшчэ адзін нюанс наконт схематычнага малюнка: звычайныя дрэвы растуць знізу ўверх, а ў праграмаванні яны малююцца наадварот. Вузлы, якія не маюць працягу, называюцца канчатковымі кропкамі. Для зручнасці абазначэння і для зручнасці выкарыстоўваецца генеалагічная тэрміналогія (продкі, дзеці).
Навошта яна ўжываецца ў праграмаванні?
Адрозненні рэкурсіі ў розных мовах праграмавання
Нягледзячы на агульную схему рэалізацыі і канкрэтнае прымяненне ў кожным асобным выпадку, Рэкурсія у праграмаванні мае свае асаблівасці. Гэта можа прывесці да складанасці падчас пошуку неабходнага матэрыялу. Але заўсёды варта памятаць: калі мова праграмавання выклікае функцыі або працэдуры, значыць, і выклік рэкурсіі - справа здзейснае. Але найбольш значныя яе адрозненні выяўляюцца пры выкарыстанні нізкіх і высокіх моў праграмавання. Асабліва гэта тычыцца магчымасцяў праграмнай рэалізацыі. Выкананне ў канчатковым выніку залежыць ад таго, якая задача пастаўлена, у адпаведнасці з ёй і пішацца Рэкурсія. Функцыі і працэдуры выкарыстоўваюцца розныя, але іх мэта заўсёды адна - прымусіць выклікаць саміх сябе.
Рэкурсія - гэта лёгка. Як проста запомніць змест артыкула?
Similar articles
Trending Now