Рекурсия эмне үчүн мынчалык кыйын?

Мазмуну:

Рекурсия эмне үчүн мынчалык кыйын?
Рекурсия эмне үчүн мынчалык кыйын?
Anonim

Рекурсияны эмне чаташтырат? Негизги себеби бир эле функцияны жергиликтүү өзгөрмөлөрдүн ар кандай маанилери менен карап жатабыз . Рекурсивдүү функцияны рекурсивдүү функцияны анализдеп жатканыңызда учурда кайсы киргизүү колдонулуп жатканын текшерүү абдан маанилүү. μ-рекурсивдүү функциялар (же жалпы рекурсивдүү функциялар) жарым-жартылай функциялар, алар натурал сандардын чектүү кортеждерин алып, кайтарып беришет. жалгыз натурал саны. Алар баштапкы функцияларды камтыган жана курамы, примитивдүү рекурсия жана μ операторунун астында жабылган жарым-жартылай функциялардын эң кичине классы. https://en.wikipedia.org › wiki › General_recursive_function

Жалпы рекурсивдүү функция - Wikipedia

Рекурсияны үйрөнүү кыйынбы?

Бирок дагы бир абдан күчтүү башкаруу структурасы бар: рекурсия. Рекурсия - информатикадагы эң маанилүү идеялардын бири, бирок ал адатта программалоонун түшүнүү кыйыныраак бөлүктөрүнүн бири катары каралат. Китептер аны кайталанма башкаруу структураларына караганда кечирээк киргизет.

Эмне үчүн рекурсия жакшы эмес?

Жаман. Императивдик программалоо тилдеринде көпчүлүк учурларда рекурсивдүү функциялардан качуу керек (сураныч, бул 100% чындыкка дал келбегендиги жөнүндө эч кандай жек көрүү каты жок). Рекурсивдүү функциялар алардын кайталануучу кесиптештерине караганда натыйжалуураак. Андан тышкары, алар стектин толуп кетүү коркунучуна дуушар болушат.

Рекурсияда кандай көйгөй бар?

Рекурсияалгоритмдик ыкма, мында функция тапшырманы аткаруу үчүн тапшырманын кандайдыр бир бөлүгү менен өзүн чакырат. Рекурсивдүү функция маселени чечүү мүмкүн болгон чекитке чейин жөнөкөйлөтүү үчүн маселенин жөнөкөй версиясын чакырат.

Рекурсия эмне үчүн мынчалык күчтүү?

Рекурсия менен сиз башка программисттер кодуңузду оңой түшүнө турган кошумча пайда аласыз – бул ар дайым жакшы нерсе. Тактап айтканда, рекурсия жана итерация экөө тең бирдей күчтүү. Каалаган рекурсивдүү чечим стек менен итеративдик чечим катары ишке ашырылышы мүмкүн.

Сунушталууда: