Waligaa ma lagugu qabtay meerto aad moodo in aan dhamaanayn halkaas oo dhibaatadu ku sii kala qaybsanto qaybo yaryar?
Hadday sidaas tahay, waxa laga yaabaa inaad ku soo kacday adduunka xiisaha badan ee soo noqnoqda. Iyadoo laga yaabo inay u muuqato inay adag tahay in la fahmo, ha welwelin! Maqaalkan, waxaan ku bixi doonaa safar xiiso leh si aan u barano noocyada soo noqnoqda.
Markaa isku xidhka markaan sahamino habab badan oo soo noqnoqonaya. U diyaargarow inaad gasho saaxada soo jiidashada leh ee soo noqnoqoshada oo aad u fiirsato awoodda cajiibka ah ee ay u leedahay xallinta arrimaha murugsan.
Waa maxay Dhab ahaan Soo noqnoqoshada?
Erayada aasaasiga ah, dib-u-soo-noqoshada waa farsamo barnaamij awood leh oo ay ku jirto shaqo isku wacaysa inta lagu jiro fulinta. Waxay la mid tahay in la fiirsado muraayadda oo la arko muqaal gudaha sawirka, taasoo keentay wareeg is-tixgelin ah.
Waxaan wax ka qaban karnaa arrimaha waaweyn anagoo adeegsanayna soo noqnoqoshada anagoo u qaybinayna dhib yar yar, oo la maarayn karo.
Waxay la mid tahay isku geynta jigsaw, halkaasoo hal gabal uu ku xirto qaybaha kale si uu u soo saaro sawir buuxa. Dib-u-soo-noqoshada waxay noo ogolaataa inaan arrimaha u xalinno si xarrago leh oo hufan annagoo ku celinayna hab-raacyo isku mid ah oo leh agabyo kala duwan.
1-Soo noqoshada Tooska ah
Soo noqnoqoshada tooska ah waa nooca ugu aasaasiga ah ee soo noqnoqda, kaas oo shaqadu si toos ah isugu yeerto. Waxay keenaysaa in loo qaybiyo mushkiladda dhibka leh dhib-hoosaadyo yaryar ilaa kiis sal-dhigeed laga gaaro, taasoo horseedaysa joojinta.
Hawsha soo noqnoqota waxay isku wacdaa agabyo kala duwan, taasoo awood u siinaysa fulinta isla jaantuska tilmaamaha in lagu celiyo. Codsi kastaa wuxuu ku dhisan yahay kii hore, isagoo si tartiib tartiib ah u soo dhowaanaya kiiska salka ah ee sababa soo noqoshada soo noqoshada inuu dhammaado.
Aynu eegno tusaalahan.
def countdown(n):
if n <= 0:
return
print(n)
countdown(n - 1)
countdown(5)
Output:
5
4
3
2
1
2-Dib u soo Noqnoqosho Dadban
Dib-u-soo-noqoshada aan tooska ahayn waxay ku kordhisaa maroojin xiiso leh dariiqa soo noqnoqda. Si ka duwan soo noqoshada tooska ah, taas oo ku lug leh hawl si toos ah isugu yeerta, soo noqoshada aan tooska ahayn waxaa ka mid ah silsiladda wicitaannada shaqada.
Mid ka mid ah hawluhu wuxuu wacaa mid kale, kaas oo markaa wici kara shaqada asalka ah ama hawl kasta oo kale oo ugu dambeyntii dib ugu noqota asalka. Shabakaddan iskuxiran ee wicitaannada shaqada waxay soo saartaa qoob-ka-cayaar xiise leh oo dhowr hawlood ay iska kaashadaan xallinta dhibaatada.
Tusaale:
def function_A(n):
if n > 0:
print("A:", n)
function_B(n - 1)
def function_B(n):
if n > 0:
print("B:", n)
function_A(n - 1)
function_A(3)
Output:
A: 3
B: 2
A: 1
3-Soocelinta Khadka
Tixgeli in aad hoos waddo toos ah, hal tallaabo markiiba, ilaa aad ka gaarto ujeeddadaada. Farsamadan isku xigxiga ah waxaa ka mid ah soo noqnoqoshada toosan, taas oo shaqadu ay qabato hal wicitaan oo isdaba joog ah oo ku saabsan soo noqnoqoshada hawl kasta.
Wicitaan kasta oo soo noqnoqota ah, habka soo noqnoqda wuxuu u soo dhawaadaa kiis sal ah isagoo hoos u dhigaya cabbirka arrinta. Waxay u socotaa si cad oo toosan, iyadoo xalinaysa mashaakilaad hoosaadyo midba mar ilaa jawaabta ugu dambeysa laga gaarayo.
Tusaale:
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
result = factorial(5)
print(result)
Output:
120
4- Geedka soo noqnoqda
Marka shaqada laamo u gasho dhowr wicitaan oo soo noqnoqda, waxaan galnaa aduunka dib u soo noqoshada geedaha. Shaqada dib u soo noqoshada geedku waxay abuurtaa wicitaano badan oo soo noqnoqda, mid kasta oo ka mid ah kuwaas oo xalliya dhib hoosaad gaar ah, sida laamaha geedku sameeyaan.
Qaab-dhismeedkan laanta ahi waxa uu u oggolaanayaa in la baadho dhawr waddo oo isku mar ah, iyada oo si wax ku ool ah u jebinaysa arrimaha murugsan qaybo yaryar oo isku xidhan.
Tusaale:
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
result = fibonacci(6)
print(result)
Output:
8
5-Dib-u-noqosho
Dib-u-soo-noqoshada buulku waxay ku kordhisaa heer aad u xiiso badan oo kakanaanta koonka soo noqnoqda. Qaabkan soo noqnoqoshada ah, shaqadu waxay ku daraysaa wicitaanka soo noqnoqda sida dood ku dhex jirta wicitaan kale oo isdaba joog ah.
Wicista soo noqnoqota ee guduhu waxay ku shaqaysaa qiime ku xidhan wicitaanka soo noqnoqda ee dibadda. Kakanaanta waxay ku koraan baryi kasta oo buul ah, oo ku dhammaatay qaab xiiso leh oo wicitaanno isdaba joog ah
Tusaale:
def nested_recursion(n):
if n > 100:
return n - 10
return nested_recursion(nested_recursion(n + 11))
result = nested_recursion(95)
print(result)
Natiijo:
91
6-Dabo-soo-noqoshada
Dib u soo noqoshada dabada waa farsamada hagaajinta algorithms-ka soo noqnoqda kuwaas oo hagaajin kara waxqabadkooda. Wicista soo noqnoqota waxay u muuqataa sida ficilka ugu dambeeya ee shaqada leh dib u soo noqoshada dabada, samaynta.
Sababtoo ah ma jiraan hawlgallo muuqda oo daba socda wicitaanka soo noqnoqda, iskudubaridiyaha ama turjubaanka ayaa fududayn kara soo noqnoqoshada isagoo ku beddelaya bood fudud.
Habkan wanaajinta, oo loo yaqaan wanaajinta wicitaanka dabada, waxay yaraynaysaa baahida wicitaan kasta oo soo noqnoqda si loo xajisto qaab xidhmo, taasoo keentay in xawaaraha kor loo qaado iyo isticmaalka xusuusta oo hooseeya.
Tusaale:
def tail_factorial(n, result=1):
if n == 0:
return result
return tail_factorial(n - 1, result * n)
result = tail_factorial(5)
print(result)
Ka baxsan:
120
7-Dib-u-noqosho aan Dabo ahayn
Si ka duwan dib u soo noqoshada dabada, dib u soo noqoshada aan dabada ahayn waxay ku lug leedahay waxqabadyo dheeraad ah oo la sameeyay ka dib wicitaanka soo noqnoqda ee shaqada dhexdeeda. Kahor intaan ficillo kale la samayn, wicitaan kasta oo soo noqnoqda waa inuu dhammaystiraa oo soo noqdaa.
Natiijo ahaan, ilaa kiiska salka laga gaaro oo soo noqnoqoshada ay dhammaato, waxaa la joogteynayaa tiro hawlgallo muuqda ah. Dib-u-soo-noqoshada aan dabada ahayn waxay si joogta ah u isticmaashaa xasuus badan waxayna ka tayo yar tahay soo noqoshada dabada, laakiin wali waa qalab waxtar leh oo wax looga qabanayo arrimo kala duwan.
Tusaale:
def non_tail_sum(n):
if n == 0:
return 0
return n + non_tail_sum(n - 1)
result = non_tail_sum(5)
print(result)
Output:
15
Duub
Dib u soo noqoshada waa fikrad soo jiidasho leh oo ku jirta barnaamijka. Waxay noo ogolaanaysaa inaan wax uga qabano dhibaatooyinka murugsan si isdaba joog ah, oo istixgelin ah.
Waxay bixisaa hab gaar ah oo looga fikiro laguna xalliyo dhibaatooyinka, iyada oo u kala qaybisa qaybo yaryar, oo la maarayn karo. Si kastaba ha ahaatee, marka la shaqeynayo soo noqnoqoshada, si kastaba ha ahaatee, waxaa muhiim ah in la isticmaalo fiiro gaar ah qodobada qaarkood.
Waa inaad aqoonsataa kiisas sal ah oo ku habboon oo u oggolaanaya soo noqoshada soo noqoshada inay dhammaato. Haddii aysan joogin, shaqadu waxay sii wadi kartaa inay is wacdo weligeed.
Marka labaad, iyadoo lagu saleynayo xaaladda gacanta ku jirta, xulashada nooca ku habboon ee soo noqoshada waxay u horseedi kartaa xalal hufan oo hufan. Isku day inaad hesho waxa ugu fiican ee dhibaatada gacanta ku jira. Markaad la shaqaynayso qoto dheer oo soo noqnoqonaya, ka digtoonow khataraha iman kara sida qulqulka xad-dhaafka ah.
Leave a Reply