Βίντεο: ¿La ISS es un FRAUDE de la NASA para ocultar la TIERRA PLANA? 2024
Φανταστείτε να προσπαθείτε να βρείτε ένα στοιχείο σε μια λίστα χωρίς να το ταξινομήσετε πρώτα. Κάθε αναζήτηση γίνεται μια χρονοβόρα διαδοχική αναζήτηση. Αλλά, μπορεί να γίνει μια υπόθεση για τη μη διαλογή δεδομένων για αλγόριθμους. Εξάλλου, τα δεδομένα είναι ακόμη προσβάσιμα, ακόμα κι αν δεν το ταξινομήσετε - και η διαλογή απαιτεί χρόνο.
Φυσικά, το πρόβλημα με τα διαγραμμένα δεδομένα είναι το ίδιο πρόβλημα με το συρτάρι σκουπιδιών στην κουζίνα σας (ή όπου κι αν έχετε το συρτάρι σας - υποθέτοντας ότι μπορείτε να το βρείτε καθόλου). Ψάχνετε για οτιδήποτε στο συρτάρι απορριμμάτων είναι χρονοβόρα επειδή δεν μπορείτε καν να αρχίσετε να μαντέψετε πού να βρείτε κάτι. Αντί απλά να φτάσετε και να πάρετε αυτό που θέλετε, πρέπει να βγάλετε μυριάδες άλλα στοιχεία που δεν θέλετε σε μια προσπάθεια να βρείτε το ένα στοιχείο που χρειάζεστε. Δυστυχώς, το στοιχείο που χρειάζεστε ίσως να μην είναι στο συρτάρι σκουπιδιών κατά πρώτο λόγο - ίσως το έχετε ρίξει έξω ή το βάζετε σε διαφορετικό συρτάρι.
Το συρτάρι σκουπιδιών στο σπίτι σας είναι ακριβώς όπως τα αδιαχώριστα δεδομένα στο σύστημά σας. Όταν τα δεδομένα δεν είναι διαλεγμένα, πρέπει να αναζητήσετε ένα στοιχείο κάθε φορά και δεν γνωρίζετε καν αν θα βρείτε αυτό που χρειάζεστε χωρίς να ψάξετε πρώτα κάθε στοιχείο του συνόλου δεδομένων. Είναι ένας απογοητευτικός τρόπος εργασίας με τα δεδομένα.
Φυσικά, η απλή ταξινόμηση των δεδομένων δεν αρκεί. Εάν έχετε μια βάση δεδομένων για τους υπαλλήλους ταξινομημένη κατά επώνυμο, αλλά πρέπει να αναζητήσετε έναν υπάλληλο κατά την ημερομηνία γέννησης, η ταξινόμηση δεν είναι χρήσιμη. (Ας υποθέσουμε ότι θέλετε να βρείτε όλους τους υπαλλήλους που έχουν γενέθλια κάποια συγκεκριμένη ημέρα.) Για να βρείτε την ημερομηνία γέννησης που χρειάζεστε, πρέπει να αναζητήσετε ολόκληρο το σύνολο δεδομένων ένα στοιχείο κάθε φορά. Κατά συνέπεια, η ταξινόμηση πρέπει να επικεντρώνεται σε μια συγκεκριμένη ανάγκη. Ναι, χρειάζεστε τη βάση δεδομένων των υπαλλήλων ταξινομημένη ανά τμήμα σε ένα σημείο και με βάση το επώνυμο σε άλλη χρονική στιγμή, αλλά τώρα χρειάζεστε ταξινόμηση κατά ημερομηνία γέννησης για να χρησιμοποιήσετε αποτελεσματικά το σύνολο δεδομένων.
Η ανάγκη διατήρησης διαφόρων ταξινομημένων παραγγελιών για τα ίδια δεδομένα είναι ο λόγος που οι προγραμματιστές δημιούργησαν ευρετήρια. Η ταξινόμηση ενός μικρού δείκτη είναι ταχύτερη από τη διαλογή ολόκληρου του συνόλου δεδομένων. Ο δείκτης διατηρεί μια συγκεκριμένη σειρά δεδομένων και δείχνει το πλήρες σύνολο δεδομένων, ώστε να μπορείτε να βρείτε αυτό που χρειάζεστε πολύ γρήγορα. Διατηρώντας ένα ευρετήριο για κάθε απαίτηση ταξινόμησης, μπορείτε να μειώσετε αποτελεσματικά τον χρόνο πρόσβασης δεδομένων και να επιτρέψετε σε αρκετά άτομα να έχουν ταυτόχρονα πρόσβαση στα δεδομένα με τη σειρά που χρειάζονται για να έχουν πρόσβαση σε αυτά.
Υπάρχουν πολλοί τρόποι για να ταξινομήσετε αλγορίθμους ταξινόμησης. Ένας από αυτούς τους τρόπους είναι η ταχύτητα του είδους. Όταν εξετάζουμε πόσο αποτελεσματικός είναι ένας συγκεκριμένος αλγόριθμος ταξινόμησης των δεδομένων, τα κριτήρια σύγκρισης χρόνου συνήθως εξετάζουν δύο παράγοντες:
- Συγκρίσεις: Για να μετακινήσετε δεδομένα από μια θέση σε ένα σύνολο δεδομένων σε άλλο, πρέπει να ξέρετε πού να το μετακινήσετε, πράγμα που σημαίνει σύγκριση των δεδομένων στόχων με άλλα δεδομένα του συνόλου δεδομένων.Με λιγότερες συγκρίσεις σημαίνει καλύτερη απόδοση.
- Ανταλλαγές: Ανάλογα με τον τρόπο που γράφετε έναν αλγόριθμο, τα δεδομένα ενδέχεται να μην φτάσουν στην τελική του θέση στο σύνολο δεδομένων κατά την πρώτη δοκιμή. Τα δεδομένα ενδέχεται να μετακινηθούν αρκετές φορές. Ο αριθμός των ανταλλαγών επηρεάζει σημαντικά την ταχύτητα, επειδή τώρα μετακινείτε δεδομένα από τη μια θέση στην άλλη στη μνήμη. Λιγότερες και μικρότερες ανταλλαγές (όπως όταν χρησιμοποιείτε ευρετήρια) σημαίνει καλύτερη απόδοση.