Τι είναι Recursive;

Στον προγραμματισμό του υπολογιστή, ο όρος recursive περιγράφει μια συνάρτηση ή μέθοδο που υπολογίζει επανειλημμένα ένα μικρότερο μέρος του ίδιου για να φτάσει στο τελικό αποτέλεσμα. Είναι παρόμοιο με την επανάληψη, αλλά αντί να επαναλαμβάνουμε ένα σύνολο λειτουργιών, μια επαναληπτική λειτουργία επιτυγχάνει την επανάληψη αναφερόμενη στον εαυτό της στον δικό της ορισμό. Ενώ η έννοια του επαναληπτικού προγραμματισμού μπορεί να είναι δύσκολο να κατανοηθεί αρχικά, η γνώση μπορεί να είναι πολύ χρήσιμη. Η επανάληψη είναι ένα από τα βασικά εργαλεία της επιστήμης των υπολογιστών.

Ένα κλασικό παράδειγμα είναι η αναδρομική μέθοδος για τον υπολογισμό του παράγοντα ενός αριθμού. Ο παράγοντας ενός ακέραιου n, ο οποίος είναι γραμμένος ως n!, είναι το αποτέλεσμα του πολλαπλασιασμού του n από όλους τους θετικούς ακέραιους μικρότερους του n. Για παράδειγμα, 3! = 3 x 2 x 1, που έχει ως αποτέλεσμα 6 και 4! = 4 x 3 x 2 x 1, η οποία έχει ως αποτέλεσμα 24. Ένας αποτελεσματικός τρόπος για τον υπολογισμό ενός παράγοντα είναι η χρήση μιας αναδρομικής συνάρτησης.

Παρακάτω είναι ένα παράδειγμα μιας αναδρομικής παραγοντικής συνάρτησης γραμμένης στο JavaScript.

συνάρτηση factorial (n) {

επιστροφή (n === 0); 1: n * παράγοντα (η-1);

}}

Όπως μπορείτε να δείτε, μέρος του ορισμού του συντελεστή συνάρτησης είναι το αποτέλεσμα του παράγοντα που εκτελείται σε μικρότερο ακέραιο αριθμό. Καλώντας τον εαυτό του, μπορεί να πολλαπλασιάσει τον αριθμό με κάθε θετικό αριθμό μικρότερο από αυτό και στη συνέχεια να επιστρέψει το τελικό αποτέλεσμα. Οι αναδρομικές λειτουργίες μπορεί να είναι χρήσιμες σε άλλους υπολογισμούς, όπως ο υπολογισμός των αριθμών Fibonacci ή ο μεγαλύτερος κοινός διαιρέτης.

Η χρήση της αναδρομικής λογικής μπορεί να έχει κάποιες downfalls, συμπεριλαμβανομένης της δημιουργίας ενός ατελείωτου βρόχου στον προγραμματισμό. Για το λόγο αυτό, η εξασφάλιση ότι υπάρχει μια κατάσταση διαφυγής (όπως το κάνει μέχρι) στον προγραμματισμό συμβάλλει στη μείωση, αν όχι στην εξάλειψη, της πιθανότητας εμφάνισης ενός ατελείωτου βρόχου. Εάν εμφανιστεί ένας ατελείωτος βρόχος, μπορεί να προκαλέσει στο πρόγραμμα να χρησιμοποιεί πολλή μνήμη σε έναν υπολογιστή και μπορεί να αναστείλει τη λειτουργία του προγράμματος, του λειτουργικού συστήματος ή του υπολογιστή.

Escape, Function, Loop, Προγραμματισμός