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; }