La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructuras de Datos Arreglos.

Presentaciones similares


Presentación del tema: "Estructuras de Datos Arreglos."— Transcripción de la presentación:

1 Estructuras de Datos Arreglos

2 Arreglo Un arreglo en Java es un grupo de posiciones de memoria contiguas, todas las cuales tienen el mismo nombre y el mismo tipo. Un arreglo es un agregado homogéneo ya que combina un conjunto de datos del mismo tipo.

3 Declaración de arreglos
Los arreglos ocupan espacio en memoria. En java se usa el operador new para asignar espacio de almacenamiento al número de elementos requerido por cada arreglo. Un arreglo empieza en 0, es decir, la primer localidad del arreglo es la localidad 0. Ejemplo int a[ ] = new int a[6];

4 Declaración de arreglos
Por tanto, si un arreglo tiene n componentes, la última localidad está dada por n-1. n-1 n elementos

5 Arreglos Para referirnos a una posición o elemento en particular del arreglo, especificamos el nombre del arreglo y el número de posición de ese elemento en el arreglo. Ejemplo a[i] = 0; , a[0][3]= 9; donde i es el índice que representa la posición dentro del arreglo donde reside el componente a accesar.

6 Arreglos multidimensionales
Se les llama así a aquellos arreglos que contienen dos o mas dimensiones. Declaración de un arreglo de dos dimensiones: int[][] ar; Creación de un arreglo de dos dimensiones: int[][] arr = new int[3][2];

7 Cómo recorrer un arreglo...
Los arreglos son recorridos de manera secuencial. Los ciclos for nos sirven para esto. Observa el siguiente ejemplo donde el for nos ayuda a elevar al cuadrado todos los elementos del arreglo: int[] arr = {6, 2, 8, 4, 3}; for(int i = 0; i < arr.length; i++) { arr[i] *= arr[i]; }

8 Estructuras de Datos Búsquedas en Arreglos UdeM otoño 2005

9 Búsqueda de un elemento
La búsqueda de un elemento es la determinación de la localidad de un elemento con ciertas características. Una salida de –1 indicaría que el elemento no se encontró. Métodos de búsqueda Búsqueda secuencial Búsqueda binaria

10 Búsqueda secuencial El método de búsqueda mediante la fuerza bruta para recorrer un arreglo, lo hace a partir de un extremo y comparando cada elemento buscando una correspondencia. Este método se llama búsqueda secuencial.

11 Búsqueda secuencial public static int search(int[ ] arr, int valor) {
int i = 0; while (i < arr.length && arr[i] != valor) { i++; } if(i< arr.length) return i+1 ; else return-1

12 Búsqueda binaria Los prerrequisitos principales para la búsqueda binaria son: La lista debe estar ordenada en un orden especifico de acuerdo al valor de la llave. Debe conocerse el número de registros.

13 Búsqueda binaria Pasos
Se compara la llave buscada con la llave localizada al centro del arreglo. Si la llave analizada corresponde a la buscada fin de búsqueda si no. Si la llave buscada es menor que la analizada repetir proceso en mitad superior, sino en la mitad inferior. El proceso de partir por la mitad el arreglo se repite hasta encontrar el registro o hasta que el tamaño de la lista restante sea cero , lo cual implica que el valor de la llave buscada no esta en la lista.

14 Ejemplo de Búsquedas Se tiene un arreglo ordenado de 19 casillas.
Si buscamos el número 107. ¿En que posición del arreglo se encuentra? ¿Cuántas comparaciones se hacen? Búsqueda Secuencial Búsqueda Binaria Posición = 16 Posición = 16 Comparaciones = 17 comparaciones = 3 En ¿cuál fue el número menor de comparaciones? ¿Por qué?

15 Búsqueda secuencial Vs. Búsqueda binaria
La búsqueda secuencial requiere en promedio del orden de n comparaciones, mientras que la búsqueda binaria requiere del orden de log 2n. Ciertamente que n es mucho mayor que el número de veces que podemos partir a n a la mitad. Debemos recordar que el método de búsqueda binaria requiere que el arreglo esté ordenado o clasificado, si no lo está, su uso no es posible.

16 Búsqueda por Hash La idea principal de este método consiste en aplicar una función que traduce el valor del elemento buscado en un rango de direcciones relativas. Una desventaja importante de este método es que puede ocasionar colisiones.


Descargar ppt "Estructuras de Datos Arreglos."

Presentaciones similares


Anuncios Google