Busqueda binaria iterativa
2011
|
Estructura de Datos Prof. Alfonso Lobos | Joaquín Gallardo Francisco Gatica |
BUSQUEDA BINARIA ITERATIVA
La búsquedabinaria es el método más eficiente para encontrar elementos en un arreglo ordenado. El proceso comienza comparando el elemento central del arreglo con el valor buscado. Si amboscoinciden finaliza la búsqueda. Si no ocurre así, el elemento buscado será mayor o menor en sentido estricto que el central del arreglo. Si el elemento buscado es mayor se procede a hacerbúsqueda binaria en la parte superior, si el elemento buscado es menor que el contenido de la casilla central, se debe cambiar el segmento a considerar al segmento que está a laizquierda de tal sitio central.
BUSQUEDA BINARIA RECURSIVA
Diferencias Entre Búsqueda Binaria e Iterativa.
Cuestiones a tener en cuenta:
1. La carga computacional(tiempo-espacio) asociada
a una llamada a una función y el retorno a la función que hace la llamada.
2. Algunas soluciones recursivas pueden hacer que
la solución para un determinadotamaño del problema se calcule varias veces.
3. Muchos problemas recursivos tienen como caso
Base la resolución del problema para un tamaño
Muy reducido. En ocasiones resultaexcesivamente
Pequeño.
4. La solución iterativa (igual de eficiente) puede
Ser muy compleja de encontrar.
5. La solución recursiva es muy concisa.
Ejercicio Recursivo .#include
#include
#include
#define TAM 10
using namespace std;
class ARRAY
{
int array[TAM];
public:
int tam;
int a_buscar;
//metodos
public:
voidscan(void);
void ordenar(void);
void cambio(int,int);
int buscar(int,int);
void print(void);
};
void ARRAY::scan(void)
{
do
{
tam=TAM;
system("cls");
cout
Regístrate para leer el documento completo.