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

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

Δάσκαλος Μέθοδος Επανεμφάνιση

Ο πλοίαρχος μέθοδος για την υποτροπή , που συχνά αποκαλείται ο πλοίαρχος θεώρημα , υπολογίζει τους απαραίτητους πόρους για να εκτελέσει ένα αναδρομικό αλγόριθμο , όπως ο χρόνος τρέχει σε έναν υπολογιστή . Ο πλοίαρχος μέθοδος χρησιμοποιεί αυτό που είναι γνωστό ως Big O συμβολισμός για να περιγράψει την ασυμπτωτική συμπεριφορά των λειτουργιών , δηλαδή το πόσο γρήγορα μεγαλώνουν προς τα όριά τους. Διαίρει και Βασίλευε
Η

Ένα αναδρομικό αλγόριθμο μπορεί να αναλύεται σε επιμέρους προβλήματα , χρησιμοποιώντας το " διαίρει και βασίλευε " στρατηγική. Καθένα από αυτά τα υπο- προβλήματα διακλαδίζεται από το αρχικό πρόβλημα και μπορεί να θεωρηθεί ως ένα κόμβο. Για τον κύριο θεώρημα , αυτές οι κόμβοι ονομάζονται n /b , όπου n είναι το μέγεθος του αρχικού προβλήματος , και b είναι ο αριθμός των τεμαχίων στα οποία έχει σπάσει , θεωρείται ότι είναι το ίδιο μέγεθος. Από κάθε ένα από αυτούς τους κόμβους , κόμβους παιδί μπορεί να διακλαδίζονται , η οποία με τη σειρά του μπορεί επίσης να αντιμετωπιστεί ένα κάθε φορά με το διαίρει και βασίλευε στρατηγική .
Εικόνων Δάσκαλος Θεώρημα
Η

ο κύριος θεώρημα λειτουργεί για αναδρομικών αλγορίθμων Τ (n ) , όπου Τ ( n) = aT (n /β) + f (n) , και Τ ( 1 ) = c , έτσι ώστε να υπάρχει μία τιμή εκκίνησης από το οποίο να παράγει το αναδρομή. Ένα παράδειγμα είναι Τ ( n) = 2T ( n /4 ) + n ^ 2 . Ο πλοίαρχος θεώρημα συνέχεια κατηγοριοποιεί τον αλγόριθμο σε μια κατηγορία με άλλους αλγόριθμους οι οποίοι λαμβάνουν την ίδια ποσότητα εργασίας .

Η περιπτώσεις που δεν καλύπτονται
Η

Ο πλοίαρχος θεώρημα δεν μπορεί να είναι χρησιμοποιείται εάν η T (n ) είναι ένα μονότονο , όπως η αμαρτία n . Η λειτουργία αυτή δεν υψηλών ρυθμών οικονομικής ανάπτυξης , η οποία είναι ο λόγος που ονομάζεται ένα μονότονο . f (n ) πρέπει να είναι ένα πολυώνυμο , ένα τέτοιο 2x ^ 3 + 3x + 4 , σε αντίθεση με λειτουργίες όπως 2 ^ n . β πρέπει να είναι τουλάχιστον 2 , και πρέπει να είναι τουλάχιστον 1 , και γ πρέπει να είναι θετική .
εικόνων Παράδειγμα
Η

T ( n ) = 8T ( n /2 ) + 1000N ^ 2

T ( n ) = θ ( n ^ ( α log_base_b ) )

a = 8

b = 2

T ( n ) = θ ( n ^ 3 )

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


εικόνων

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

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