რა არის რეკურსია? განმარტება და მნიშვნელობა

პროგრამირებაში, პროგრამის მოდული ან ქვეპროგრამა, რომელიც თავის თავს იწოდებს განმეორებითი ოპერაციის შესასრულებლად; სხვა სიტყვებით რომ ვთქვათ, სუფთა გამონათქვამი მეორდება ბევრად უფრო რთული ოპერაციის მისაღწევად.

რეკურსიის პრინციპი ილუსტრირებულია ფიბონაჩის რიცხვებით, რიცხვების სერია, რომელშიც პირველი ორი წევრი არის 1; თანმიმდევრული ტერმინები მოცემულია ორი წინა წევრის (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 და ა.შ.) შეჯამებით. ფიბონაჩის რიცხვები შეიძლება გამომუშავდეს შემდეგი განტოლებით, თუ n მეტია 2-ზე: ფიბონაჩი («) = ფიბონაჩი (« – 1) + ფიბონაჩი (n – 2).

Technipages განმარტავს რეკურსიას

რეკურსია არის პროგრამირების პრობლემების გადაჭრის მეთოდი, რომლის დროსაც პრობლემა იყოფა ამოცანების მცირე ერთეულებად და წყდება ინდივიდუალურად. ასე რომ, პირველი გამოსავალი დამოკიდებულია იმაზე, თუ რა მცირე გადაწყვეტილებები მიიღება, მით უფრო მცირე პრობლემები. რეკურსიები ეხმარება პრობლემის გადაჭრას, რადგან კითხვა წყდება მისი პირობებით.

ის საუკეთესოდ არის ილუსტრირებული რუსული მატრიოშკას თოჯინებით, რომელიც არის თოჯინების ნაკრები, რომელიც ჩასმულია უფრო დიდ თოჯინაში; თოჯინის ყველა ნაჭერი არის შემდეგი ან წინა თოჯინის პირდაპირი ასლი, გარდა მცირე ზომისა. ასე რომ, ყველა თოჯინა მეორის პატარა ან უფრო მნიშვნელოვანი ვერსიაა. რეკურსიული პროგრამირება ეფუძნება ამ პრინციპს, რომლის დროსაც პრობლემა წყდება უფრო მცირე პრობლემებად დაყოფით.

რეკურსიას შეიძლება მივაკვლიოთ 1958 წლიდან, ჯონ მაკკარტი იყო პირველი, ვინც გამოიყენა რეკურსიის პრინციპი პროგრამირებაში და ეს შეიძლება ნახოთ მის ნაშრომში LISP-ზე. LISP იყო პირველი პროგრამირების ენა, რომელსაც აქვს რეკურსიული ფუნქციები, როგორც დღეს გვაქვს. მაკკარტის ნამუშევარი შთაგონებული იყო ალონზო ეკლესიის ნამუშევრებით, რომლებიც ორი ათწლეულით ადრე იყო. რეკურსიასთან დაკავშირებული მნიშვნელოვანი ხსენებები ასევე შეიძლება დათარიღდეს დედეკინდის ნაშრომით ნატურალურ რიცხვებზე 1888 წელს. როზა პიტერმა წარმოადგინა რეკურსიული ფუნქციების შესახებ 1932 წელს მათემატიკოსთა საერთაშორისო კონგრესზე ციურიხში 1932 წელს.

რეკურსიის საერთო გამოყენება

  • რეკურსია ეხმარება პრობლემების მოგვარებაში, რადგან ის აგვარებს პრობლემას თავისი პირობებით, პრობლემის დაშლით მცირე პრობლემებამდე
  • პრობლემების გადასაჭრელად უკეთესი გზა იქნებოდა რეკურსია რადგან ის აფართოებს პერსპექტივას პრობლემის შესახებ
  • In რეკურსია, პრობლემების ახალი ნაკრები ერთმანეთის ასლია და თითოეული პრობლემა თავისთავად გვარდება.

რეკურსიის საერთო ბოროტად გამოყენება

  • რეკურსია არ ებრძვის პრობლემებს, მიუხედავად იმისა, რომ პრობლემა დაყოფილია უფრო მცირე მასშტაბით
  • რეკურსია მხოლოდ ამარტივებს პრობლემას და არ პასუხობს მას.