Ricerca lineare e ricerca binaria

Autore: Laura McKinney
Data Della Creazione: 4 Aprile 2021
Data Di Aggiornamento: 14 Maggio 2024
Anonim
Ricerca binaria in un vettore ordinato
Video: Ricerca binaria in un vettore ordinato

Contenuto

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

BaseRicerca lineareRicerca binaria
SensoLa 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à temporaleLa complessità temporale della ricerca lineare è O (N).La complessità temporale della ricerca binaria è O (log 2 N)
Tipo di algoritmoLa ricerca lineare è iterativa.La ricerca binaria è Dividi e conquista.
Riga di codiceIn 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

  1. 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.
  2. La complessità temporale della ricerca lineare è 0 (N) mentre la complessità temporale della ricerca binaria è O (log2N).
  3. La ricerca lineare è iterativa mentre la ricerca binaria è Dividi e conquista.
  4. 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.

Video esplicativo