Open lzapatazamb opened 7 years ago
def BusquedaBinaria(lista, primero, ultimo, target):
if (primero > ultimo):
index = -1
else:
mid = int(primero + (ultimo - primero)/2)
if (target == lista[mid]):
index = mid
elif (target < lista[mid]):
index = BusquedaBinaria(lista, primero, mid - 1, target)
else:
index = BusquedaBinaria(lista, mid + 1, ultimo, target)
return index
Arreglo = [1, 2, 3, 4, 5,6,7,8,9,10,11,12]
print("Arreglo:", Arreglo)
print("Numero en la ubicacion:", BusquedaBinaria(Arreglo, 0, 12,3)) #tercer num es el buscado.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO code application logic here
int c, izquierda, derecha, mitad, n, search, array[];
Scanner in = new Scanner(System.in);
System.out.println("Introduzca el número de elementos");
n = in.nextInt();
array = new int[n];
System.out.println("Escriba " + n + " numeros");
for (c = 0; c < n; c++) {
array[c] = in.nextInt();
}
System.out.println("Introducir valor para encontrar");
search = in.nextInt();
izquierda = 0;
derecha = n - 1;
mitad = (izquierda + derecha) / 2;
while (izquierda <= derecha) {
if (array[mitad] < search) {
izquierda = mitad + 1;
} else if (array[mitad] == search) {
System.out.println("valor encontrado en la posision " + (mitad) + ".");
break;
} else {
derecha = mitad - 1;
}
mitad = (izquierda + derecha) / 2;
System.out.println("Valor no encontrado");
break;
}
if (izquierda > derecha) {
}
}
}
include
int main() { int c, menor, mayor, medio, n, Buscar, array[100]; printf("Ingrese la cantidad de numeros en el arreglo \n"); scanf("%d",&n); printf("Ingrese %d numeros en orden ascendente\n", n); for (c = 0; c < n; c++) scanf("%d",&array[c]); printf("Ingrese numero a buscar\n"); scanf("%d", &Buscar); menor = 0; mayor = n - 1; medio = (menor+mayor)/2; while (menor <= mayor) { if (array[medio] < Buscar) menor = medio + 1; else if (array[medio] == Buscar) { printf("%d Encontrado en la posicion %d.\n", Buscar, medio+1); break; } else mayor = medio - 1; medio = (menor + mayor)/2; } if (menor > mayor) printf("No se encontro el numero %d en el arreglo\n", Buscar); return 0; }