Implementazioni di algoritmi/Ricerca dicotomica: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
cambio avanzamento a 100% |
Nessun oggetto della modifica |
||
Riga 1:
{{implementazioni di algoritmi}}
La '''ricerca dicotomica''' (o ricerca binaria) è un algoritmo di ricerca per individuare un determinato valore all'interno di un insieme ordinato di dati. La ricerca dicotomica richiede un accesso casuale ai dati in cui cercare.
===Implementazione in [[Python]] versione ricorsiva===
<source lang="python">
def
if right==None: right = len(seq)
center = (left
if left>right:
return -1▼
return binsearchr(seq, search, left, center-1)
while 1:▼
center = (left + right) / 2▼
return binsearchr(seq, search, center+1, right)
▲ candidate = seq[center]
if search == candidate:▼
return - 2 - center▼
▲ elif search < candidate:
right = center▼
▲ else:
left = center▼
</source>
===Implementazione in [[
<source lang="python">
def binsearch(seq, search):
left = 0
right = len(seq)-1
elif search>seq[center]:
else:
</source>
===Implementazione in [[C]] versione ricorsiva===
<source lang="c">
int ricercaBinaria(int lista[], int x, int a, int z ) {
Line 48 ⟶ 56:
</source>
===Implementazione in [[C]] versione non ricorsiva===
<source lang="c">
int ricercaBinariaNonRicorsiva(int lista[], int n, int x)
|