Τύποι αλγορίθμων αναζήτησης

click fraud protection
Μητέρα και πατέρας που φιλούν το κορίτσι στο χαλί

Μια οικογένεια χρησιμοποιεί φορητό υπολογιστή.

Πίστωση εικόνας: εικόνες altrendo/Stockbyte/Getty Images

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

Γραμμική αναζήτηση

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

Το βίντεο της ημέρας

Δυαδική αναζήτηση

Η δυαδική αναζήτηση είναι ένας δημοφιλής αλγόριθμος για μεγάλες βάσεις δεδομένων με εγγραφές ταξινομημένες κατά αριθμητικό κλειδί. Παραδείγματα υποψηφίων περιλαμβάνουν τη βάση δεδομένων IRS με κλειδί στον αριθμό κοινωνικής ασφάλισης και τα αρχεία DMV που πληκτρολογούνται με αριθμούς άδειας οδήγησης. Ο αλγόριθμος ξεκινά στο μέσο της βάσης δεδομένων -- εάν ο αριθμός στόχος σας είναι μεγαλύτερος από τον μεσαίο αριθμό, η αναζήτηση θα συνεχιστεί με το πάνω μισό της βάσης δεδομένων. Εάν ο αριθμός στόχος σας είναι μικρότερος από τον μεσαίο αριθμό, η αναζήτηση θα συνεχιστεί με το κάτω μισό της βάσης δεδομένων. Συνεχίζει να επαναλαμβάνει αυτή τη διαδικασία, κόβοντας τη βάση δεδομένων στη μέση κάθε φορά μέχρι να βρει την εγγραφή. Αυτή η αναζήτηση είναι πιο περίπλοκη από τη γραμμική αναζήτηση, αλλά για μεγάλες βάσεις δεδομένων είναι πολύ πιο γρήγορη από μια γραμμική αναζήτηση.

Αναζήτηση δέντρου

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

Γενετικός αλγόριθμος

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