Búsqueda binaria en C
Divide el rango a la mitad en cada paso; mil elementos toman diez comparaciones.
int binary_search(const int *items, int n, int target) {
int lo = 0, hi = n - 1;
while (lo <= hi) {
int mid = lo + (hi - lo) / 2;
if (items[mid] == target)
return mid;
if (items[mid] < target)
lo = mid + 1;
else
hi = mid - 1;
}
return -1;
}
Palabras clave y builtins usados aquí
constelseifintreturnwhile
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 240
- Tokens
- 87
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 55 segundos.
Paso 3 de 5 en Ordenamiento y búsqueda; paso 3 de 20 en Estructuras de datos y algoritmos.