Πίνακας περιεχομένων:

Αναδρομική σύνοψη ενός πίνακα σε Java: 9 βήματα
Αναδρομική σύνοψη ενός πίνακα σε Java: 9 βήματα

Βίντεο: Αναδρομική σύνοψη ενός πίνακα σε Java: 9 βήματα

Βίντεο: Αναδρομική σύνοψη ενός πίνακα σε Java: 9 βήματα
Βίντεο: Ο Πλήρης Οδηγός Scrum Master - 5 χρόνια εμπειρίας σε 2 ώρες 2024, Νοέμβριος
Anonim
Αναδρομική σύνοψη ενός πίνακα σε Java
Αναδρομική σύνοψη ενός πίνακα σε Java

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

Για αυτό το παράδειγμα, θα αθροίσουμε έναν πίνακα 10 ακέραιων, αλλά το μέγεθος θα μπορούσε να είναι οποιουδήποτε μήκους.

Προμήθειες

Θα πρέπει να γνωρίζετε τη βασική σύνταξη java και να έχετε το IDE ή έναν επεξεργαστή κειμένου για να γράψετε τον κώδικά σας για αυτήν την εργασία.

Βήμα 1: Ρυθμίστε την κύρια μέθοδό σας

Ρυθμίστε την κύρια μέθοδό σας
Ρυθμίστε την κύρια μέθοδό σας

Για να ξεκινήσετε, ρυθμίστε την κύρια μέθοδό σας σε μια νέα τάξη. Έχω ονομάσει την τάξη μου RecursiveSum. Εδώ θα δημιουργήσετε μια σειρά από ακέραιους αριθμούς και θα καλέσετε την αναδρομική σας μέθοδο.

Βήμα 2: Δημιουργήστε την κεφαλίδα της αναδρομικής μεθόδου

Δημιουργήστε την κεφαλίδα της αναδρομικής μεθόδου
Δημιουργήστε την κεφαλίδα της αναδρομικής μεθόδου

Εκτός της κύριας μεθόδου, δημιουργήστε την κεφαλίδα της μεθόδου για την αναδρομική μέθοδο.

Η μέθοδος είναι στατική, καθώς δεν θα απαιτήσει κάποιο αντικείμενο για χρήση της.

Ο τύπος επιστροφής είναι int, καθώς ο πίνακας που θα χρησιμοποιήσουμε θα είναι πλήρης σε ακέραιους αριθμούς. Ωστόσο, αυτό μπορεί να αλλάξει σε οποιονδήποτε αριθμό αριθμού περιέχει ο πίνακας.

Έχω ονομάσει τη μέθοδο μου recursiveSum που θα λάβει δύο παραμέτρους. μια σειρά από ακέραιους αριθμούς και το ευρετήριο που θα προσθέσουμε στο άθροισμα. Έχω καλέσει αυτές τις παραμέτρους αριθμούς και ευρετήριο αντίστοιχα.

Θα δείτε λάθη αυτή τη στιγμή και αυτό είναι εντάξει. Θα διορθωθούν αργότερα.

Βήμα 3: Δημιουργήστε το Kicker/Case σας

Δημιουργήστε το Kicker/τη βασική σας υπόθεση
Δημιουργήστε το Kicker/τη βασική σας υπόθεση

Μια αναδρομική μέθοδος χρειάζεται ένα κέικ/βάση θήκης. Αυτή είναι η συνθήκη που θα σταματήσει τη μέθοδό σας να αυτοαποκαλείται απεριόριστα. Αυτή η βασική περίπτωση μπορεί να θεωρηθεί ως η πιο απλή περίπτωση που θα συναντήσουμε. Σε αυτήν την περίπτωση, η βασική περίπτωση θα είναι όταν βρισκόμαστε στο τέλος του πίνακα μας. Εάν ο τρέχων δείκτης ισούται με το μήκος του πίνακα (μείον 1 επειδή οι πίνακες αρχίζουν να μετρούν από 0 και όχι 1), βρισκόμαστε στο τέλος και απλώς επιστρέφουμε αυτό το στοιχείο σε αυτόν τον δείκτη.

Βήμα 4: Το αναδρομικό βήμα

Το Αναδρομικό Βήμα
Το Αναδρομικό Βήμα

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

Για να το πετύχουμε αυτό, απλώς επιστρέφουμε τον τρέχοντα δείκτη μας και "προσθέτουμε το υπόλοιπο" του πίνακα.

Βήμα 5: Συντομεύστε το πρόβλημα

Συντομεύστε το Πρόβλημα
Συντομεύστε το Πρόβλημα

Πώς απλά "προσθέτουμε τα υπόλοιπα"; Έχουμε ήδη μια μέθοδο που θα προσθέσει ένα συγκεκριμένο στοιχείο. η μέθοδος μας recursiveSum ()! Μπορούμε να το καλέσουμε ξανά αλλά να αλλάξουμε ποιο δείκτη αθροίζουμε.

Περνάμε στον ίδιο πίνακα που επεξεργαζόμαστε, αλλά περνάμε στον επόμενο δείκτη από τον τρέχοντα δείκτη μας. Το κάνουμε αυτό προσθέτοντας απλώς ένα στο τρέχον δείκτη μας όπως φαίνεται.

Βήμα 6: Δημιουργήστε τον πίνακα ακεραίων

Δημιουργήστε τον πίνακα των ακεραίων
Δημιουργήστε τον πίνακα των ακεραίων

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

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

Βήμα 7: Καλέστε τη μέθοδο με τις συστοιχίες σας

Καλέστε τη μέθοδο με τις συστοιχίες σας
Καλέστε τη μέθοδο με τις συστοιχίες σας

Τώρα μπορείτε να καλέσετε την αναδρομική σας μέθοδο και να τις περάσετε σε αυτήν. Τώρα μπορείτε να εκτελέσετε το πρόγραμμά σας.

Βήμα 8: Εκτυπώστε τα αποτελέσματα

Εκτυπώστε τα Αποτελέσματα
Εκτυπώστε τα Αποτελέσματα
Εκτυπώστε τα Αποτελέσματα
Εκτυπώστε τα Αποτελέσματα

Δεν έγινε τίποτα. Γιατί; Το αναδρομικό άθροισμα επιστρέφει έναν ακέραιο αλλά δεν έχουμε κάνει τίποτα με αυτόν τον ακέραιο. Έκανε τη δουλειά του αλλά δεν μπορούμε να δούμε το αποτέλεσμα. Για να δείτε το αποτέλεσμα, απλά το εκτυπώνουμε έτσι. Μετά την εκτέλεση αυτού, θα πρέπει να δείτε τα αποτελέσματα για κάθε πίνακα σας.

Βήμα 9: Συγχαρητήρια

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

Συνιστάται: