INSTITUTO TÉCNICO JESÚS OBRERO LOS FLORES DE CATIA

Anuncio
INSTITUTO TÉCNICO JESÚS OBRERO
LOS FLORES DE CATIA
PROCESAMIENTO DE DATOS
BÚSQUEDA BINARIA
Divide el vector sucesivamente por mitades,
hasta encontrar el elemento, o finalizar el vector. Exige obligatoriamente que el vector este
ordenado de forma ascendente
bool busquedabinaria(int v[], int num, int n)
{
int buscar,central, primero, ultimo;
primero = 0; ultimo= n-1;
buscar= false; // no existe
while ((primero <=ultimo)&& (buscar==false))
{
central = (primero + ultimo+1)/2;
if (v[central]> num)
ultimo = central -1;
else
if (v[central]< num)
primero = central;
else
buscar = true;
}
return buscar;
}
Información extraída de:
Programación en C:Metodologia,
Algoritmos y estructura de datos
Alcalá Erely
Sifontes Steffany
ORDENACIÓN
Ordenar un vector se trata de reorganizar
sus elementos según alguna relación de orden. El
objetivo de la ordenación es que la información se
pueda recuperar fácil y rápidamente (por ejemplo, en
una base de datos grande). La ordenación es bastante usual en programación, existiendo varios métodos o algoritmos distintos de ordenación.
Existen cuatro tipos: ordenación por selección, ordenación por inserción, y ordenación por burbuja
ORDENACIÓN POR BURBUJA
ALGORITMOS DE TRATAMIENTOS DE
VECTORES
Los algoritmos de tratamiento de vectores responden a tres esquemas básicos:
1. Recorrido: procesar todos los elementos
del vector.
2. Búsqueda: recorrer el vector hasta encontrar una componente que cumple una propiedad determinada.
3. Ordenación: recolocar los elementos del
vector para que mantengan una determinada
relación de orden.
Consiste en recorrer sucesivamente el vector comparando los elementos consecutivos e intercambiándolos (si no están en orden).
Ventajas:
Muy Sencillo y utilizado por
su fácil comprensión.
Desventajas:
Requiere muchas lecturas y escrituras, y consume
mucho tiempo d e la computadora
void ordenacionburbuja (int v[], int n)
{
int aux;
for(int i=0; i<=n-2; i++)
{
for( int j=i+1; j<=n-1;j++)
{
if (v[i]>v[j])
{
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
}
}
}
BÚSQUEDA
La Búsqueda, junto a la ordenación, son unas de
las acciones mas implementadas, ya que nos sirven para realizar múltiples ordenamientos y
búsquedas gracias a los distintos métodos existentes.
BÚSQUEDA LINEAL
Esta búsqueda se basa en consultar o examinar
uno a uno los elementos de un vector desde el
principio hasta que se encuentra el elemento
deseado o hasta que se termina el vector
bool busquedalineal(int v[], int num, int n)
{
bool buscar;
buscar = false; // no existe
for (int i =0; i<n;i++)
{
if(v[i]==num)
{
buscar = true;//existe
break;
}
}
return buscar;
}
Descargar