Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Αναδρομική Συνάρτηση σε C

Ένα μικρό - που χρησιμοποιούνται στην έννοια C είναι αναδρομή λειτουργία . Μια αναδρομική συνάρτηση είναι απλά μια λειτουργία που καλεί τον εαυτό της . Αναδρομικές συναρτήσεις μπορεί να είναι χρήσιμη σε ορισμένες λειτουργίες, αλλά μπορεί συνήθως να αντικατασταθεί με τη χρήση ενός βρόχου . Σκοπός της Αναδρομική Λειτουργία
Η

Μια αναδρομική συνάρτηση μπορεί να χρησιμοποιηθεί όταν πρέπει να γίνει κατ 'επανάληψη σε ένα σύνολο δεδομένων μια λειτουργία . Για παράδειγμα , μια αναδρομική συνάρτηση μπορεί να εκτελέσει επανειλημμένα μια μαθηματική πράξη σε μια αριθμητική τιμή , έως ότου συνάντησε μια κατάσταση .
Εικόνων Δημιουργία Αναδρομική Λειτουργία
Η

Κάθε λειτουργία που καλεί τον εαυτό της είναι μια αναδρομική συνάρτηση . Δεν υπάρχουν ειδικές απαιτήσεις για μια λειτουργία που αυτοαποκαλείται ? Μπορεί να το κάνει , όπως cait θα καλέσει κάποια άλλη λειτουργία . Ως παράδειγμα , η ακόλουθη είναι μια αναδρομική συνάρτηση για να υπολογίσει τον επόμενο αριθμό στην ακολουθία Fibonacci :

καιρό fib (long n )

{

if ( n <= 2 )

{

επιστροφή 1?

}

άλλο

{

fib επιστροφής ( n - 1 ) + fib ( n - 2 ) ?

} }



Η Προβλήματα με Αναδρομή
Η

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

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

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα