Sie sind auf Seite 1von 7

INSTITUTO DE SITEMAS CUSCO UNSAAC

AREA:
BASE DE DATOS TEMA:

``BUSQUEDA EN ARREGLOS``
Docente: Rildo Tapia Pacheco Modulo: Alumnos: Angie Dayana Gonzales Rubi Estrella Gavanch Lujan Yusepe Giovani Hilares Davalos Daniel Marx Chillitupa Chauca III-A

CUSCO - PERU

Indice :
Implementacion Precentacion CAP- I Definicion Concluciones Recomendaciones Introduccion CAP- II Analisis del Algoritmo Blibigrafia Webgrafia

Implementacin de un arreglo asociativo con un rbol de bsqueda binaria Representamos el arreglo asociativo mediante un objeto que tiene una referencia de la raz de un ABB:
class Map extends Program { Nodo raiz= null; ... operaciones del arreglo asociativo ... }

Cuando el arreglo est vaco, la raz es nula y representa entonces el rbol vaco. Cuando el arreglo tiene al menos una asociacin, la raz no es nula y referencia un objeto de la clase Nodo que se define como:
class Nodo { int llave; String val; Nodo izq; Nodo der; Nodo(int llave, String val, Nodo izq, Nodo der) { this.llave= llave; this.val= val; this.izq= izq; this.der= der; } }

En donde izq referencia la raz del ABB izquierdo, o nulo si el ABB vaco, y der referencia respectivamente el ABB derecho. Un nodo almacena una asociacin (llave, val), al igual que en una lista enlazada un eslabn almacena un asociacin del arreglo asociativo. La siguiente figura muestra dos posibles representaciones de un arreglo asociativo con asociaciones {3->"hola", 5->"que", 10->"tal"}:

INTRODUCCION DEFINICION
Arreglos ._Un arreglo es un conjunto de celdas de memoria relacionadas entre s ya que todos tienen el mismo nombre y almacenan el mismo tipo de datos para referirse a una celda en particular algn elemento dentro del arreglo y entre corchetes [] el nmero de posicin del elemento dentro del arreglo. El primer elemento se almacena en la posicin 0 del arreglo, es decir el primer elemento del arreglo se conoce como a[0], el segundo como a[1], el sptimo como a[6] y en general el elemento de orden i del arreglo a se conoce como a[i-1].

CAPITULO -I

Bsqueda Binaria Este algoritmo permite buscar de una manera ms eficiente un dato dentro de un arreglo, para hacer esto se determina el elemento central del arreglo y se compara con el valor que se est buscando, si coincide termina la bsqueda y en caso de no ser as se determina si el dato es mayor o menor que el elemento central, de esta forma se elimina una mitad del arreglo junto con el elemento central para repetir el proceso hasta encontrarlo o tener solo un elemento en el arreglo. Para poder aplicar este algoritmo se requiere que el arreglo este ordenado. Bsqueda Lineal

La bsqueda lineal es bien simple, consiste en recorrer el arreglo secuencialmente hasta dar con la clave buscada y en ese punto devolver el ndice. Entre sus ventajas podemos decir que es fcil de implementar y sirve para arreglos desordenados. Para arreglos ms grandes veremos un mtodo ms efectivo (pero que requiere ordenar el arreglo), llamado bsqueda binaria. El cdigo cuenta con una funcin busquedaLineal, que recibe al arreglo, el tamao, y la clave a buscar.

Conclusiones:
Arreglos Bidimensionales Arreglos bidimensionales El arreglo bidimensional o de dos dimensiones, est formado por un conjunto de elementos de un mismo tipo de datos...

Arreglos Algoritmo se puede observar en la tabla superior, pertenece a las estructuras de datos estticas. ARREGLOS (ARRAY): Es un conjunto finito y fijo de elementos del mismo tipo... Arreglos En c nmero de elementos en el arreglo y El tamao del arreglo. 2.1- Por qu Usar los Arreglos? Por que son uno de los factores esenciales de los programas de computadora... Arreglos botn de imprimir en text. Aparecen los nmeros que se teclearon CONCLUSION Bueno en si los arreglos nos sirven para registrar la informacin,

CAPITULO -II Anlisis del Algoritmo Bsqueda Lineal


//Busqueda lineal //en un arreglo. #include <iostream> using std::cout; using std::cin; using std::endl; void mostrarArreglo(const int[], int); //prototipo de funcion que recibe un arreglo constante int busquedaLineal(const int[], int, int); //arreglo, tamano, clave int main() { int clave =0; const int tamano = 15; int arreglo[tamano] = {25,17,13,16,41,32,12,115,95,84,54,63,78,21,10}; cout << "Elementos del arreglo: " << endl; mostrarArreglo(arreglo,tamano); cout << "Indique un valor a buscar y se le devolvera el indice: " << endl; cin >> clave; cout<< "Su valor se encuentra en arreglo["<<busquedaLineal(arreglo,tamano,clave)<<"]"<< endl; cout << "Fin del programa :)" << endl; return 0; }//fin de main void mostrarArreglo(const int arreglo[], int tamano) { for (int i = 0 ; i < tamano ; i++) cout << "arreglo[" << i <<"]=" << arreglo[i] << endl; } int busquedaLineal(const int arreglo[], int tamano, int clave) { for (int i = 0; i< tamano ; i++) if (arreglo[i] == clave) return i; return -1; }

Bsqueda Binaria
#include <stdio.h> #include <conio.h> #include <stdlib.h> #define TAM 15 void main(){ int a[TAM], busca, temp, bajo, alto, central; printf("Llenando el arreglo con nmeros aleatorios\n");

randomize(); //Inicializa el generador de aleatorios for (int i=0; i< TAM; i++) a[i]=random(100); //Implementacion de Ordenamiento por burbuja de menor a mayor printf ("Ordenando arreglo...\n"); for (int j=1; j <= TAM; j++) for (i=0; i< TAM-1; i++) if (a[i] > a[i+1]){ temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; } //Implementacion de busqueda binaria printf ("\nIntroduce un numero a buscar: "); scanf ("%d", &busca); bajo = 0; alto = TAM-1; central = (bajo+alto)/2; while (bajo < alto && busca != a[central]){ if(busca > a[central]) bajo = central+1; else alto = central-1; central=(bajo+alto)/2; } if (busca == a[central]) printf("\n%d encontrado en posicion %d", busca, central); else printf("\n%d no existe", busca); printf ("\n\nEl arreglo ordenado era\n\n"); for (i=0; i< TAM; i++) printf ("%d ", a[i]); getch(); }

Das könnte Ihnen auch gefallen