Η θεωρία της υπολογιστικής πολυπλοκότητας εστιάζει στην ταξινόμηση των υπολογιστικών προβλημάτων ανάλογα με τη χρήση των πόρων τους και στη συσχέτιση αυτών των κλάσεων μεταξύ τους. Ένα υπολογιστικό πρόβλημα είναι μια εργασία που επιλύεται από έναν υπολογιστή. Ένα υπολογιστικό πρόβλημα είναι επιλύσιμο με μηχανική εφαρμογή μαθηματικών βημάτων, όπως ένας αλγόριθμος.
Τι εννοείτε με τον όρο πολυπλοκότητα αλγορίθμου;
Η πολυπλοκότητα ενός αλγορίθμου είναι ένα μέτρο του χρόνου και/ή του χώρου που απαιτείται από έναν αλγόριθμο για μια είσοδο δεδομένου μεγέθους (n).
Τι είναι η αλγοριθμική πολυπλοκότητα στη δομή δεδομένων;
Η αλγοριθμική πολυπλοκότητα είναι ένα μέτρο του χρόνου που θα χρειαζόταν για να ολοκληρωθεί ένας αλγόριθμος δεδομένης μιας εισαγωγής μεγέθους n. Εάν ένας αλγόριθμος πρέπει να κλιμακωθεί, θα πρέπει να υπολογίσει το αποτέλεσμα μέσα σε ένα πεπερασμένο και πρακτικό χρονικό όριο ακόμη και για μεγάλες τιμές του n. Για αυτόν τον λόγο, η πολυπλοκότητα υπολογίζεται ασυμπτωτικά καθώς το n πλησιάζει το άπειρο.
Γιατί είναι σημαντική η αλγοριθμική πολυπλοκότητα;
Οι επιστήμονες υπολογιστών χρησιμοποιούν μαθηματικά μέτρα πολυπλοκότητας που τους επιτρέπουν να προβλέψουν, πριν γράψουν τον κώδικα, πόσο γρήγορα θα εκτελεστεί ένας αλγόριθμος και πόση μνήμη θα χρειαστεί. Τέτοιες προβλέψεις είναι σημαντικοί οδηγοί για τους προγραμματιστές που εφαρμόζουν και επιλέγουν αλγόριθμους για εφαρμογές πραγματικού κόσμου.
Πώς υπολογίζεται η αλγοριθμική πολυπλοκότητα;
Για οποιονδήποτε βρόχο, ανακαλύπτουμε το χρόνο εκτέλεσης του μπλοκ μέσα σε αυτό και το πολλαπλασιάζουμε με τον αριθμό των φορών που θα το πρόγραμμαεπαναλάβετε τον βρόχο. Όλοι οι βρόχοι που μεγαλώνουν αναλογικά με το μέγεθος εισόδου έχουν γραμμική χρονική πολυπλοκότητα O(n). Εάν κάνετε επαναφορά μόνο στο μισό του πίνακα, εξακολουθεί να είναι O(n).