Continuando con los métodos de búsqueda, seguimos con la busqueda secuencial por bloques que es mas eficiente que las busquedas secuenciales normales, ya
que suma la ventaja de que tiene el vector ordenado más la busqueda en un vector dividido en bloques.
El algoritmo es el siguiente:
Se divide el vector entero en bloques de (int (raíz(tamaño del vector))) elementos por bloque.
Se recorre el vector con un contador que se ira incrementando en saltos de (int (raíz(tamaño del vector))) y se va tomando el ultimo numero de cadabloque para compararlo con el numero buscado.
Si el ultimo numero de cada bloque es igual al numero encontrado, entonces “el numero fue encontrado” de lo contrario se pregunta si el ultimo numero decada bloque es mayor al numero buscado, sí si, entonces se incrementa el contador en (int (raíz(tamaño del vector))) elementos. Si no entonces significa
que el numero buscado esta dentro de ese bloque, por lo que se comienza a buscar secuencialmente dentro de ese bloque.
Pero una imagen dice más que mil palabras:

Aquí está el codigo en VB.Net
(continue reading…)