Documente Academic
Documente Profesional
Documente Cultură
JAVA HEAVEN
Búsqueda Binaria
Escrito por javaheaven 24-04-2011
en General.Comentarios (1)
La única condición para usar este algoritmo es que los datos dentro del
arreglo estén ordenados de menor a mayor.
La solución mas fácil para realizar una busqueda es por fuerza bruta, pero
este método puede resultar bastante ineficiente cuando se tiene una gran
cantidad de datos, ya que habria que buscar posición por posición hasta
encontrar el dato que queremos.
5. Volvemos al paso 2.
Supongamos que tenemos el arreglo {2, 3, 5, 7, 9, 11, 14, 18, 22, 25} y
queremos buscar el dato 18, entonces el inferior toma el valor de 0 y
superior el valor de 9 (ya que es tamaño del arreglo menos 1).
if (Arreglo[centro] == elemento)
return centro;
else
if (Arreglo[centro] > elemento)
superior = centro - 1;
else
inferior = centro + 1;
}
return -1;
}
if(posicion == -1)
System.out.println("\nElemento no encontrado");
else
System.out.println("\nElemento " + elemento + " encontrado en la
posición " + posicion);
}
}
Para probar les dejo un bloc de notas con 10000 datos ordenados, solo
copienlos y pegenlos cuando se los pida el programa.
Hay que notar que se debe sumar 1 al límite ya que de otro modo este no
aparecería, en otras palabras si no le sumara 1 solo generaría números
entre 0 y 5.
También debemos recordar que el número será de tipo double, así que si
quieres que sea de tipoentero basta con hacer un casting:
import java.util.Scanner;
System.out.print("Limite: ");
int limite = Leer.nextInt()+1;
int numero = (int)(Math.random() * limite);
Para obtener los datos usaremos el método get(). Por medio del objeto
calendario que ya habíamos creado podemos acceder a las variables YEAR,
MONTH, DATE, HOUR, MINUTE, SECOND.
import java.util.Calendar;
Muy bien basta de tanta teoria, asi que aqui esta el codigo:
else
{
Pi += 4.0 / denominador[i+1];
i++;
bandera = 0;
}
}
return Pi;
}
LlenarDenominador();
Pi = Calcular(Pi);
System.out.print(Pi);
}
}
Esto se lee, repetir desde que i = 0 hasta que i sea menor a la longitud de
la cadena, y vamos a repetir de uno en uno.
Dentro del ciclo estará una condición if que será la que estará
comprobando si el caracter es o no vocal, esta condición quedaría así:
import java.util.Scanner;
System.out.print("Cadena: ");
String Cadena = Leer.nextLine(); // Leer cadena
Cadena = Cadena.toLowerCase(); // Pasar a minuscula la cadena
int ContadorVocales = 0;
« Anterior12Siguiente »
Inicio
Contacto
RSS
Política de cookies