ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Algoritmos de Búsqueda


Enviado por   •  21 de Julio de 2017  •  Apuntes  •  410 Palabras (2 Páginas)  •  69 Visitas

Página 1 de 2

// Algoritmo de Búsqueda Binaria Iterativa

void BinarySearch(Elemento A[], int First, int Last, Elemento Value, int &r) {

int Mid = (First + Last)/2;

while (First <= Last && Value != A[Mid]) {

if (Value < A[Mid]) Last = Mid-1;

else First = Mid+1;

Mid = (First + Last)/2;

}

if (Value == A[Mid]) r = Mid;

else r = -1;

}

// Algoritmo de Búsqueda Binaria Recursiva

void BinarySearchR(Elemento A[], int First, int Last, Elemento Value, int &r) {

int Mid = (First + Last)/2;

if (First > Last) r = -1;

else {

if (Value == A[Mid]) r = Mid;

else

if (Value < A[Mid])

BinarySearchR(A,First,Mid-1,Value,r);

else

BinarySearchR(A,Mid+1,Last,Value,r);

}

}

// Algoritmo de Búsqueda Secuencial

void SequentialSearch(Elemento X[], int Last, Elemento Value, int &r) {

int i = 0;

while (i < Last) {

if (X[i]==Value)

r = i;

i++;

}

}

// Algoritmo de Búsqueda Secuencial Mejorada

void ImprovedSequentialSearch(Elemento X[], int Last, Elemento Value, int &r) {

int i = 0;

r = -1;

while (r == -1 && i < Last) {

if (X[i]==Value)

r = i;

else

i++;

}

}

// Algoritmo de Búsqueda Secuencial Ordenada

void SequentialSearchOrdenada(Elemento X[], int Last, Elemento Value, int &r) {

int i = 0;

r = -1;

while (r == -1 && i < Last && X[i]<=Value) {

if (X[i]==Value)

r = i;

else

i++;

}

}

// Algoritmo de Búsqueda Binaria Iterativa

Int busquedaBinaria(T x, T v[], intcant)

{

intbajo=0, alto=cant-1, mitad, encontrado=0;

while((bajo<=alto)&&(!encontrado))

{

mitad=(alto+bajo)/2;

if(x==v[mitad])

encontrado=1;

...

Descargar como (para miembros actualizados)  txt (3.2 Kb)   pdf (44.8 Kb)   docx (12.7 Kb)  
Leer 1 página más »
Disponible sólo en Clubensayos.com