Co to jest rekurencja?

W informatyce wiele problemów wymaga strategii dziel i zwyciężaj. Technika rekurencji wykorzystuje tę strategię. W najprostszej postaci rekurencja to funkcja, która dzieli problem na mniejsze problemy, aż do momentu, gdy można określić produkt końcowy. Informatyka powstała na platformie matematyki i logiki. Rekurencja jest częścią tej większej struktury od wielu dziesięcioleci i można ją znaleźć w większości współczesnych języków programowania.

Programowanie dynamiczne to implementacja rekurencji, która rozbija problem na komponenty. Ten proces umożliwia zagnieżdżanie problemów w większych problemach, gdzie każdy podproblem wymaga wyniku z poprzedniego problemu. Ten rodzaj rekurencji funkcjonalnej jest typowy w przypadku manipulacji tablicami.

Ten styl programowania jest korzystny, ponieważ upraszcza problem na łatwe do zarządzania komponenty. Zaletą tego rozwiązania jest również modułowe tworzenie oprogramowania. To modułowe podejście umożliwia tworzenie komponentów wielokrotnego użytku w całej aplikacji komputerowej.

Rekurencja sprawdza się dobrze podczas tworzenia funkcji zabezpieczeń w aplikacjach komputerowych. Każdy ekran aplikacji może wymagać określonych reguł biznesowych, które określają, czy pola powinny być widoczne. Zamiast pisać indywidualny kod zabezpieczający na każdym ekranie, można utworzyć funkcję rekurencyjną do odczytywania wszystkich ekranów przed wyświetleniem danych użytkownikowi i zastosowaniem niezbędnych ograniczeń widoczności.

Projekt graficzny to kolejny obszar, który dobrze pasuje do problemu rekurencyjnego. Wyobraź sobie program, który został zaprojektowany do tworzenia kwadratu w kwadracie. Mniejszy kwadrat miałby te same wymagania funkcjonalne co większy kwadrat, a jedyną zmianą byłyby wymiary dwóch kwadratów.

Algorytm sortowania to problem logiczny, w którym listę elementów należy posortować w określonej kolejności. Ten rodzaj rozwiązywania problemów wymaga ciągłego tasowania listy w nową listę, aż ostateczna lista zostanie uporządkowana zgodnie z potrzebami. Dobrym podejściem do rozwiązania tego problemu jest utworzenie pętli rekurencyjnej, która kontynuuje tasowanie listy, aż zostanie posortowana do końcowej listy.
Siła automatyzacji oprogramowania sprawia, że ​​użycie rekurencji wydaje się być trywialne dla większości właścicieli systemów. Zazwyczaj oczekuje się, że funkcje zabezpieczeń i sortowanie kolumn wymagają prostego kliknięcia myszą lub naciśnięcia klawiatury. Pod przykrywką tej prostej akcji kryje się złożoność i elegancja rekurencji w praktyce.