Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/11/2009, 05:48
Avatar de elAntonie
elAntonie
 
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 18 años, 1 mes
Puntos: 10
Respuesta: binarySearch() ArrayList? URGENTE!!

Wenas

el algoritmo binarySearch (busqueda binaria) se basa en el metodo divide y vence. Para encontrar un alumno en una estructura se basa en buscar en la mitad del vector, y preguntar si el elemento que ocupa esa posicion es mayor o menor que el que buscas, si es menor, el algoritmo, deshecha la mitad derecha del vector y si es mayor la mitad izquierda.
De ese modo en la primera iteraccion deshecha la mitad, a la siguiente la mitad de la mitad, en cada iteraccion tiene menos elementos con los que comparar. En eso se basa su rapidez.

Pero este metodo, parte de una premisa, el vector debe estar ordenado. Evidentemente.

Para ordenar ese vector, tienes que decirle que tipo de objetos tiene y como se ordenan esos objetos. En cristiano, tienes que decirle como saber que el Alumno Juan vaya antes que el Alumno Pepe.

Para ello esos objetos Alumnos deben implementar la interfaz Comparable, y el metodo compareTo, en donde le diras que Juan va antes que Pepe, porque van por orden alfabetico.

Pero todo eso hay que decirselo, java no es dios.

Saludos.

Última edición por elAntonie; 23/11/2009 a las 05:56