// Busca un elemento en un array de forma secuencial
function busquedaLineal(arr, objetivo) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] === objetivo) {
return i; // Retorna el índice
}
}
return -1; // No encontrado
}
// Ejemplo de uso
let numeros = [5, 3, 8, 4, 2];
console.log(busquedaLineal(numeros, 8)); // 2
console.log(busquedaLineal(numeros, 7)); // -1
|
// Búsqueda eficiente en arrays ordenados (O(log n))
function busquedaBinaria(arr, objetivo) {
let inicio = 0;
let fin = arr.length - 1;
while (inicio <= fin) {
let medio = Math.floor((inicio + fin) / 2);
if (arr[medio] === objetivo) {
return medio;
} else if (arr[medio] < objetivo) {
inicio = medio + 1;
} else {
fin = medio - 1;
}
}
return -1;
}
// Ejemplo (el array debe estar ordenado)
let ordenado = [1, 3, 5, 7, 9, 11];
console.log(busquedaBinaria(ordenado, 7)); // 3
|
// Ordena comparando elementos adyacentes
function bubbleSort(arr) {
let n = arr.length;
for (let i = 0; i < n - 1; i++) {
for (let j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// Intercambiar elementos
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
// Ejemplo de uso
let desordenado = [64, 34, 25, 12, 22];
console.log(bubbleSort(desordenado)); // [12, 22, 25, 34, 64]
|
|