Tipi di ricerca Algoritmi

January 3

Tipi di ricerca Algoritmi


algoritmi di ricerca costituiscono una parte importante di molti programmi. Alcune ricerche coinvolgono in cerca di una voce in un database, ad esempio alzando il record nel database IRS. Altri algoritmi di ricerca strascico attraverso uno spazio virtuale, come quelli a caccia di migliori mosse di scacchi. Anche se i programmatori possono scegliere tra numerosi tipi di ricerca, selezionano l'algoritmo che meglio si adatta alle dimensioni e la struttura del database per fornire un'esperienza user-friendly.

ricerca lineare

La ricerca lineare è l'algoritmo di scelta per liste brevi, perché è semplice e richiede codice minimo per implementare. L'algoritmo di ricerca lineare guarda il primo elemento della lista per vedere se si sta cercando per esso e, in caso affermativo, è necessario continuare. In caso contrario, si guarda al prossimo elemento e attraverso ogni voce dell'elenco.

Ricerca binaria

La ricerca binaria è un algoritmo popolare per grandi database con i record ordinati dal tasto numerico. candidati esempio includono il database IRS digitato dal numero di previdenza sociale e il record DMV digitato da numeri di patente. L'algoritmo inizia a metà del database - se il numero di destinazione è maggiore del numero centrale, la ricerca continuerà con la metà superiore del database. Se il numero di destinazione è più piccolo del numero centrale, la ricerca continuerà con la metà inferiore del database. Si continua a ripetere questo processo, tagliando il database a metà ogni volta finché non trova il record. Questa ricerca è più complicata di quanto la ricerca lineare, ma per le grandi basi di dati è molto più veloce di una ricerca lineare.

Ricerca Albero

Una ricerca albero funziona solo se i dati si inserisce in una struttura ad albero. Il database inizia da una radice che va ad alcuni elementi, ognuno dei quali va a qualche oggetti e così via fino ad avere un albero. Un esempio è il gioco degli scacchi. La posizione attuale consiglio è la radice. Le mosse legali da questa posizione rappresentano un passo l'albero, e così via fino a che il giocatore trova nella posizione di bordo che lo lascia nella posizione migliore.

Algoritmo genetico

Una ricerca algoritmo genetico è una delle tecniche dietro intelligenza artificiale. Si cerca una "soluzione ottimale" espresso come una stringa di dati - come ad esempio l'elenco delle dimensioni interne di un motore a reazione che fornisce la massima spinta. La ricerca inizia con una popolazione casuale di stringhe e testa ciascuno, mantenendo le migliori e l'allevamento di loro per ottenere la prossima generazione. Il programma continua a ripetere questo processo fino a quando non arriva a una stringa soluzione ottimale.