Προσδιορίστε αν αναδρομή είναι κατάλληλο για τις ανάγκες σας . Πρέπει να είστε σε θέση να εκφράσουν την υπολογιστική διαδικασία που εμπλέκονται στην επίλυση του προβλήματός σας από την άποψη της επανειλημμένες εκκλήσεις για την ίδια. Ένα δημοφιλές παράδειγμα είναι το παραγοντικό υπολογισμό, ο οποίος είναι το αποτέλεσμα του πολλαπλασιασμού μια σειρά από αριθμούς μέχρι το "Ν" και μπορεί να εκφραστεί ως ένα αναδρομικό υπολογισμό . 2
Αποφασίστε ότι μπορείτε να εφαρμόσετε το διαίρει και - κατάκτηση στρατηγική για την επίλυση του προβλήματός σας . Για παράδειγμα, η μέθοδος " quicksort " το οποίο βασίζεται σε έναν αναδρομικό υπολογισμό κατά τη διαδικασία διαλογής . Κατά παρόμοιο τρόπο , θα πρέπει να είναι σε θέση να διαιρέσει το πρόβλημά σας σε μικρότερα κομμάτια και την επεξεργασία τους αναδρομικά .
Εικόνων 3
Δημιουργήστε τη μέθοδο Java που θα ζητήσει αναδρομικά . Βεβαιωθείτε ότι η μέθοδος Java σας περιέχει όλα τα απαραίτητα έξι συνιστώσες , και συγκεκριμένα τον τροποποιητή , τύπος επιστροφής , όνομα μεθόδου , λίστα παραμέτρων , λίστα εξαιρέσεων και το σώμα της μεθόδου.
Για παράδειγμα , η ακόλουθη γραμμή καθορίζει μια μέθοδο που ονομάζεται " Quicksort ( ) " που δέχεται έναν πίνακα για να ταξινομηθούν μαζί με τα αριστερά και δεξιά δείκτες :
άκυρη Quicksort ( int arr [ ] , int αριστερά , δεξιά int ) { }
Η 4
Βεβαιωθείτε ότι έχετε συμπεριλάβει την κλήση στον εαυτό του μέσα στη μέθοδο που περιέχει το αναδρομικό υπολογισμό . Για παράδειγμα , μέσα στο " quicksort ( ) " μέθοδο , οι ακόλουθες κλήσεις σε πιο « quicksort ( ) " μέθοδοι μπορεί να βρεθεί σε:
int index = partition ( ARR , αριστερά, δεξιά ) ?
αν ( αριστερά <Ευρετήριο - 1 )
Quicksort ( ARR , αριστερά , δείκτης - 1 ) ?
αν ( index <δεξιά)
Quicksort ( ARR, index , δεξιά)?
Οι παράμετροι που περνά στο επόμενο αναδρομική κλήση πρέπει να είναι μικρότερες από τις προηγούμενες . Αυτό είναι ένα βασικό στοιχείο της στρατηγικής του διαίρει και βασίλευε.
5
Δοκιμάστε την αναδρομική κλήση της συνάρτησης . Μπορείτε να ορίσετε μια κατηγορία για να ελέγξετε την αναδρομή και μια « main () » μέθοδο μέσα να καλέσετε αναδρομική συνάρτηση σας και βεβαιωθείτε ότι λειτουργεί σωστά . Για παράδειγμα :
τάξη Αναδρομή {
δημόσια στατική άκυρη κύρια (String args [ ] ) { } }
Η
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα