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

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

Πώς να βρείτε Χρονική Πολυπλοκότητα σε C + +

πολυπλοκότητα Ο χρόνος είναι το μέτρο του πόσο καιρό ένας αλγόριθμος για να ολοκληρωθεί ένα τρέξιμο μέσα από τη διαδικασία . Για τη μέτρηση της πολυπλοκότητας χρόνο με C + + , έχετε μια ποικιλία από επιλογές . Αυτό το σεμινάριο περνά μέσα από την διαδικασία της εύρεσης της πολυπλοκότητας χρόνου . Οδηγίες
Η 1

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

Βρείτε την πολυπλοκότητα χρόνου . Αυτό είναι το δύσκολο μέρος . Για να βρείτε τη χρονική πολυπλοκότητα συγκεκριμένο αλγόριθμο σας , τις ζωοτροφές και μεγαλύτερες ποσότητες δεδομένων και να δούμε πώς θα επιβραδύνει . Μπορείτε επίσης να αναλύσουν τα βήματα του αλγορίθμου και να δούμε πώς θα ταιριάζει στο παρελθόν - αναλύονται τα προβλήματα της πολυπλοκότητας του χρόνου . Ελέγξτε τις πληροφορίες σχετικά με Big O συμβολισμός και πληροφορίες για αλγορίθμους για περισσότερη βοήθεια ( βλ. Πόρων ) .
Εικόνων 3

Αναλύστε την χρονική πολυπλοκότητα για να βρείτε την καλύτερη περίπτωση για τη διαδικασία σας . Αν ο αλγόριθμος μπορεί να επιτευχθεί με μια ταχύτερη μέθοδο , μπορεί να θέλετε να εργαστείτε για την υλοποίηση της πιο γρήγορη μέθοδο . Σε γενικές γραμμές , οι αλγόριθμοι πηγαίνουν από ταχύτερα σε πιο αργή σε αυτή τη σειρά : σταθερό χρόνο , λογαριθμική χρόνο , γραμμικό χρόνο , πολυωνυμικό χρόνο , εκθετικό χρόνο και παραγοντικό χρόνο . Ο πιο γρήγορος είναι συνήθως μια άμεση ματιά και ο χρόνος είναι το ίδιο ανεξάρτητα από το πόσο μεγάλη η είσοδος . Η πιο αργή είναι γενικά μια μέθοδος ωμής βίας από κάποιο είδος που διατρέχει κάθε δυνατότητα και επιβραδύνεται σημαντικά όταν αυξάνεται η εισαγωγή σε μέγεθος. Δεν μπορεί να αξίζει τον κόπο να βελτιστοποιηθεί ο αλγόριθμος για ένα πιο γρήγορο πολυπλοκότητα χρόνου, αν η αύξηση θα είναι μάλλον μικρές ή αν έχετε να κάνετε με μικρότερες ποσότητες δεδομένων . Ωστόσο , αν έχουμε να κάνουμε με μεγάλες ποσότητες δεδομένων , τότε μπορεί να θέλετε να εξετάσει το ενδεχόμενο να δεχθούν το επιπλέον χρόνο για να καταλάβω πώς να δημιουργήσετε το πιο βελτιστοποιημένο κώδικα .
Η
εικόνων

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

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