KompyutaProgramu

Recursion - ni kitu gani? Recursion programu (Mifano)

Recursion ni ya kuvutia matukio katika wenyewe, lakini ni katika programu umuhimu fulani katika baadhi ya kesi. Kwa mara ya kwanza wanakabiliwa na wao, idadi kubwa ya haki watu kuwa na uelewa wao wa tatizo. Hii ni kutokana na uwanja mkubwa wa matumizi ya uwezo wa neno, kulingana na mazingira ambapo "kujirudia" limetumika. Lakini Inatarajiwa kuwa makala hii itasaidia kuepuka kutokuelewana iwezekanavyo na machafuko.

ni "kujirudia" kwa ujumla ni nini?

Neno "kujirudia" ina mbalimbali ya maadili ambayo hutegemea eneo ambalo ni kutumiwa. Universal wajibu ni kama ifuatavyo: kujirudia - hii ufafanuzi picha, maelezo ya vitu au taratibu katika vitu wenyewe. wao ni inawezekana tu katika kesi ambapo kitu ni sehemu ya yeye mwenyewe. Kwa njia yake mwenyewe ni amefafanua hisabati kujirudia, fizikia, programu, na idadi ya taaluma nyingine kisayansi. matumizi halisi hupatikana katika mifumo ya taarifa na majaribio ya kimwili.

Maana ya kujirudia katika programu?

hali ya kujirudia au kujirudia katika programu, iitwayo wakati ambapo utaratibu au mpango kazi wito yenyewe. Kama ajabu kwa wale ambao wameanza kujifunza programu, kama hii inaweza kuonekana, hakuna kitu chochote cha ajabu kuhusu hilo. Kumbuka kwamba kujirudia - si vigumu, na katika baadhi ya matukio badala mzunguko. Kama kompyuta yako kuwekwa sahihi kuwaita utaratibu au kazi, yeye tu ya kuanza kufanya yake.

Recursion inaweza kuwa finite au usio na mwisho. Kwanza kusimamishwa yenyewe sababu, ni lazima pia kuwa na hali ya kufungwa. Upungufu huu kwa thamani inaweza kuwa kutofautiana, na wakati fika thamani fulani, na kuacha wito kukamilika programu / mpito kwa kanuni inayofuata, kulingana na mahitaji ya kufikia malengo fulani. By usio kujirudia ina maana kwamba itakuwa kuitwa, kazi kwa muda mrefu kama kompyuta au mpango inayotuzunguka.

Pia inawezekana shirika vigumu kujirudia kwa kutumia kazi mbili. Tuseme kuna watu A na B. A ina kazi katika kanuni wito wako na B, na B, kwa upande wake, inaelekeza katika mahitaji ya kompyuta kufanya tata A. kujirudia - njia nje ya mfululizo tata wa hali mantiki kwa mantiki ya kompyuta.

Kama msomaji wa mistari haya alisoma mzunguko programu, ni pengine tayari niliona yanayofanana kati yao na kujirudia. Kwa ujumla, wanaweza kweli kufanya kazi sawa au kufanana. Kwa msaada wa kujirudia ni rahisi kufanya simulation kazi ya mzunguko. Hii ni muhimu hasa ambapo mzunguko wenyewe kutumia ni si rahisi sana. Kuendesha utekelezaji wa programu ni si tofauti sana katika lugha mbalimbali ya programu za juu. Hata hivyo kujirudia katika "Pascal" na kujirudia katika C au lugha nyingine ina sifa yake mwenyewe. Yeye inaweza kuwa kwa mafanikio katika lugha ngazi ya chini kama vile "assembler", lakini ni zaidi ya matatizo na muda mwingi.

miti kujirudia

ni "mti" katika programu nini? Ni finite seti yenye nodi angalau moja ambayo ni:

  1. Ina awali nodi maalum, inayoitwa mizizi ya mti mzima.
  2. nodes iliyobaki ni katika kiasi hicho ni tofauti na sifuri, subset disjoint, wakati huo huo wao pia ni miti. Aina zote hizo za shirika kuitwa subtrees ya mti kuu.

Yaani: miti vyenye subtrees ambayo yana miti zaidi, lakini kwa idadi ndogo kuliko mti uliopita. Hii inaendelea mpaka mmoja nodes itakuwa rahisi kuendelea, na itakuwa na maana ya mwisho wa kujirudia. Kuna moja nuance zaidi kuhusu diagramming: miti ya kawaida kukua kutoka chini kwenda juu, nao ni inayotolewa kwa programu kinyume chake. Maeneo ambayo hawana muendelezo, aitwaye mwisho nodi. Kwa urahisi wa nukuu, na kwa ajili ya urahisi wa kutumia kinasaba istilahi (mababu, watoto).

Kwa nini ni hutumiwa katika programu?

matumizi yake ya kujirudia katika programu kupatikana kwenye mbalimbali ya kazi ngumu. Kama unataka kupiga simu moja tu, rahisi ni matumizi ya ushirikiano mzunguko, lakini wakati marudio mbili au zaidi ili kuepuka chaining na kufanya utekelezaji wake katika hali ya mti, na hali ya kujirudia kuomba. Kwa ajili ya darasa mbalimbali ya matatizo ya shirika la kompyuta mchakato kwa njia hii ni bora katika masuala ya matumizi ya rasilimali. Hivyo, kujirudia katika "Pascal" au nyingine yoyote programu lugha kiwango cha juu cha ni kazi au utaratibu wito na hali bila kujali idadi ya simu za nje. Kwa maneno mengine, mpango unaweza kuwa wito moja tu kwa subroutine, lakini kuwa hadi baadhi predetermined moment. Katika baadhi ya njia ni kitanzi Analog na tabia matumizi yake.

Tofauti kujirudia katika lugha mbalimbali ya programu

Pamoja mchoro wa jumla wa utekelezaji na maombi maalum katika kila kesi ya mtu binafsi, kujirudia katika programu ina sifa yake mwenyewe. Hii inaweza kusababisha matatizo katika kutafuta nyenzo zinazohitajika. Lakini mara zote kumbuka: kama lugha ya programu ni kazi au utaratibu, kwa hiyo, wito kujirudia - ni upembuzi yakinifu. Lakini tofauti yake muhimu zaidi kutokea wakati wa kutumia lugha za chini na juu ya programu. Hii ni uwezekano wa kweli hasa wa utekelezaji wa programu. Utekelezaji hatimaye hutegemea kama kazi ni kuweka, kwa mujibu wa hiyo na kuandikwa recursion. Kazi na taratibu zinazotumiwa ni tofauti, lakini lengo lao ni sawa daima - kufanya wito wao wenyewe.

Recursion - ni rahisi. Kama rahisi kukumbuka maudhui ya makala?

Kwa Kompyuta kuelewa inaweza kuwa vigumu mwanzoni hivyo unahitaji mifano ya kujirudiarudia, au angalau moja. Kwa hiyo, unapaswa kutoa mfano mdogo wa maisha ya kila siku, ambayo itasaidia kuelewa kiini cha utaratibu huu ili kufikia malengo katika programu. Kuchukua vioo viwili au zaidi, nafasi yao ili katika kuonyesha moja wengine wote. Inaweza kuonekana kuwa vioo kutafakari yenyewe mara kwa mara, kujenga athari za isiyo na kikomo. Hapa kujirudia - ni, mfano anasema, tafakari (ambayo ni mengi). Kama unavyoona, rahisi kuelewa, itakuwa unataka. utafiti wa vifaa vya kompyuta, basi tunaona kuwa kujirudia - ni pia urahisi sana doable kazi.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sw.birmiss.com. Theme powered by WordPress.