Ricerca lineare e ricerca binaria
Contenuto
- Contenuto: Differenza tra ricerca lineare e ricerca binaria
- Tabella di comparazione
- Ricerca binaria
- Differenze chiave
- Conclusione
- Video esplicativo
La differenza tra ricerca lineare e ricerca binaria è che nella ricerca lineare ogni elemento viene controllato e confrontato e quindi ordinato, mentre nella ricerca binaria un elenco da ordinare viene diviso in due parti e quindi ordinato. La ricerca e l'ordinamento sono due concetti principali nella programmazione del computer. Molti algoritmi vengono utilizzati per la ricerca e l'ordinamento, ma i due algoritmi più utilizzati per la ricerca e l'ordinamento sono la ricerca lineare e la ricerca binaria.
La differenza tra la ricerca lineare e una ricerca binaria è il funzionamento e l'efficienza di entrambi gli algoritmi. La ricerca binaria è un algoritmo molto più efficiente rispetto all'algoritmo di ricerca lineare. L'iterazione o il tempo necessario per confrontare ciascun valore prima dell'ordinamento è inferiore nella ricerca binaria rispetto alla ricerca lineare.
La ricerca lineare è un algoritmo molto complesso se si desidera cercare un numero in un elenco, confrontare e iterare talvolta il numero di valori nell'elenco. Uno a uno ogni elemento dell'elenco viene recuperato e confrontato con l'elemento adiacente. Tutti gli elementi sono accessibili e controllano e quindi viene trovato l'elemento giusto. Può esserci il caso peggiore se l'ultimo numero nell'elenco è il numero da cercare. La ricerca lineare è il metodo con cui l'array viene attraversato e viene fondato l'elemento da cercare. Se parliamo di efficienza, l'efficienza è il numero di volte che il programma deve essere eseguito per trovare il numero. Se troviamo il numero che stiamo cercando nella prima posizione, allora deve essere fatto solo un confronto, e le cose sono ordinate, ma in caso contrario i confronti devono essere fatti ancora e ancora, e la memoria è sprecata. In media, il numero di confronti sarà (n + 1/2). E l'efficienza peggiore di questa tecnica è O (n) sta per l'ordine di esecuzione.
Rispetto alla ricerca lineare, la ricerca binaria è molto efficiente. In questo metodo, l'array è diviso in due parti e in questo modo il numero di confronti è molto inferiore rispetto alla ricerca binaria. Il tempo è anche inferiore nella ricerca binaria rispetto alla ricerca lineare. La ricerca binaria funziona nel modo in cui viene trovato l'elemento centrale dell'array e quindi l'elemento centrale viene confrontato con una parte dell'array. Ci possono essere tre possibilità che sono il numero medio può essere il numero che dobbiamo trovare o il numero che è inferiore al numero medio o il numero che è maggiore della metà del numero medio. Il numero di confronti è al massimo log (N + 1). La ricerca binaria rispetto alla ricerca lineare è un algoritmo efficiente rispetto alla ricerca lineare, ma l'array deve essere ordinato prima di eseguire la ricerca binaria.
Contenuto: Differenza tra ricerca lineare e ricerca binaria
- Tabella di comparazione
- Ricerca binaria
- Differenze chiave
- Conclusione
- Video esplicativo
Tabella di comparazione
Base | Ricerca lineare | Ricerca binaria |
Senso | La ricerca lineare di ogni elemento viene verificata, confrontata e quindi ordinata | Ricerca binaria un elenco da ordinare è diviso in due parti e quindi ordinato.
|
Complessità temporale | La complessità temporale della ricerca lineare è O (N). | La complessità temporale della ricerca binaria è O (log 2 N) |
Tipo di algoritmo | La ricerca lineare è iterativa. | La ricerca binaria è Dividi e conquista. |
Riga di codice | In una ricerca lineare, dobbiamo scrivere più codice. | In una ricerca binaria, dobbiamo scrivere meno codice. |
Ricerca lineare
La ricerca lineare è un algoritmo molto complesso se si desidera cercare un numero in un elenco, confrontare e ripetere alcune volte il numero di valori nell'elenco. Uno a uno ogni elemento dell'elenco viene recuperato e confrontato con l'elemento adiacente. Tutti gli elementi sono accessibili e controllano, quindi viene trovato l'elemento giusto. Può esserci il caso peggiore se l'ultimo numero nell'elenco è il numero da cercare. La ricerca lineare è il metodo con cui l'array viene attraversato e viene fondato l'elemento da cercare. Se parliamo di efficienza, l'efficienza è il numero di volte che il programma deve essere eseguito per trovare il numero. Se troviamo il numero che stiamo cercando nella prima posizione, allora deve essere fatto solo un confronto, e le cose sono ordinate, ma in caso contrario i confronti devono essere fatti ancora e ancora, e la memoria è sprecata. In media, il numero di confronti sarà (n + 1/2). E l'efficienza peggiore di questa tecnica è O (n) sta per l'ordine di esecuzione.
Ricerca binaria
Rispetto alla ricerca lineare, la ricerca binaria è molto efficiente. In questo metodo, l'array è diviso in due parti e in questo modo il numero di confronti è molto inferiore rispetto alla ricerca binaria. Il tempo è anche inferiore nella ricerca binaria rispetto alla ricerca lineare. La ricerca binaria funziona nel modo in cui viene trovato l'elemento centrale dell'array e quindi l'elemento centrale viene confrontato con una parte dell'array.
Ci possono essere tre possibilità che sono il numero medio può essere il numero che dobbiamo trovare o il numero che è inferiore al numero medio o il numero che è maggiore della metà del numero medio. Il numero di confronti è al massimo log (N + 1). La ricerca binaria rispetto alla ricerca lineare è un algoritmo efficiente rispetto alla ricerca lineare, ma l'array deve essere ordinato prima di eseguire la ricerca binaria.
Differenze chiave
- La ricerca lineare di ogni elemento viene controllata e confrontata e quindi ordinata, mentre la ricerca binaria di un elenco da ordinare viene divisa in due parti e quindi ordinata.
- La complessità temporale della ricerca lineare è 0 (N) mentre la complessità temporale della ricerca binaria è O (log2N).
- La ricerca lineare è iterativa mentre la ricerca binaria è Dividi e conquista.
- Nella ricerca lineare, dobbiamo scrivere più codice mentre nella ricerca binaria dobbiamo scrivere meno codice.
Conclusione
In questo articolo sopra vediamo la chiara differenza tra ricerca lineare e ricerca binaria.