Sobes.tech
Intern

Τι είναι η αναδρομή;

sobes.tech AI

Απάντηση από AI

Λειτουργία που καλεί τον εαυτό της.

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

Παράδειγμα υπολογισμού του παραγοντικού:

<?php
function factorial(int $n): int
{
    // Βασική περίπτωση
    if ($n <= 1) {
        return 1;
    }
    // Αναδρομική κλήση
    return $n * factorial($n - 1);
}

echo factorial(5); // Θα εμφανίσει 120
?>

Πλεονεκτήματα:

  • Κομψότητα και συνοπτικότητα του κώδικα για ορισμένα προβλήματα.

Μειονεκτήματα:

  • Μπορεί να οδηγήσει σε υπερχείλιση στοίβας με πολύ βαθιά επίπεδα αναδρομής.
  • Πιθανώς λιγότερο αποδοτική από επαναληπτικές λύσεις για τα ίδια προβλήματα λόγω των πρόσθετων εξόδων των κλήσεων συναρτήσεων.

Χρησιμοποιείται συχνά για την περιήγηση σε δέντρα, συστήματα αρχείων, επίλυση συνδυαστικών προβλημάτων.