01conceptodeestructurasdedatos 130331112223 Phpapp01
01conceptodeestructurasdedatos 130331112223 Phpapp01
01conceptodeestructurasdedatos 130331112223 Phpapp01
ESTRUCTURAS DE DATOS
Son formas de organizar informacin o datos. Una estructura de datos se parece a una clase. Realmente una estructura de datos es una clase contenedora que proporciona almacenamiento para tems de datos, y capacidades para almacenar y recuperar estos datos. Generalmente a las estructuras de datos se les asocian los ALGORITMOS que es es una secuencia de instrucciones que realizan una tarea (flowchart). Existen dos tipos de estructuras de datos: Estticas (arreglos, estructuras). Tamao fijo. Dinmicas (listas, pilas, colas, rbol). Su tamao puede cambiar. Cada tipo de estructura de datos tiene sus mtodos especficos. Mtodos comunes en las estructuras de datos son: Agregar elemento. Eliminar elemento. Editar elemento. Ordenar Buscar
Arreglos (Arrays)
En POO hay dos tipos de datos: Primitivo (como int o double) y objetos, en Java los arrays son objetos. Las estructuras de datos mas sencillas. Grupo de elementos que ocupan posiciones de memoria casi siempre adyacentes, todos con el mismo nombre y del mismo tipo. Un arreglo es una coleccin de variables del mismo tipo que son referenciadas con un nombre comn a todas. Respecto de la memoria es importante entender que las variables del arreglo se ubican en posiciones de memoria casi siempre adyacentes. Un arreglo puede ser:
Unidimensional Multidimensional.
A una variable del arreglo se le denomina Elemento del arreglo. A cada elemento del arreglo le corresponde un ndice para referirse a el. Son estructuras de datos porque mantienen el mismo tamao durante toda la ejecucin del programa.
Juan
Nombres[1]
Luis
Nombres[2]
Mara
Nombres[3]
Antonio
Nombres[4]
Angela
Nombres[5]
Para hacer referencia a un elemento en particular del arreglo, se indica el nombre del arreglo y el nmero de posicin del elemento. Las posiciones generalmente se cuentan a partir del cero como primera posicin.
Entonces, es posible crear arrays de cualquier tipo de objeto. El array de objetos se inicializa similar a un array tradicional: For (int i=0; i < arrayCirculo.length;i++) arrayCirculo[i] = new Circulo();
Mostrar los elementos del array for(int i=0; i<nombres.length; i++){ System.out.println(nombres[i]); }
Bsqueda lineal
El algoritmo de bsqueda lineal busca en un arreglo unidimensional un dato especfico. La bsqueda primero examina el elemento con el ndice 0 y continua examinando los elementos sucesivos hasta que se encuentra el tem o no quedan ms elementos que examinar. Pseudocdigo DECLARE INTEGER i, buscar= 72 DECLARE INTEGER x [] = [ 20, 15, 12, 30, -5, 72, 456 ] FOR i = 0 TO LENGTH (x) - 1 IF x [i] IS buscarTHEN PRINT "Found ", buscar END Ventaja de ste algoritmo: END IF Puede buscar en arreglos ordenados o desordenados. NEXT i Desventaja de ste algoritmo: PRINT "Did not find ", buscar Mucho tiempo de bsqueda. END
Bsqueda binaria
La bsqueda binaria divide el array en seccin inferior y superior calculando el ndice central del array. Si el dato se encuentra en ese elemento, la bsqueda binaria termina. Si el dato es numricamente menor que el dato del elemento central, la bsqueda binaria calcula el ndice central de la mitad inferior del array, ignorando la seccin superior y repite el proceso. La bsqueda continua hasta que se encuentre el dato o se exceda el lmite de la seccin (lo que indica que el dato no existe en el array)
Analice y realice una prueba de escritorio para que entienda el funcionamiento del algoritmo.
Desventaja: Lentitud
Ejercicio en clase
Desarrolle un APPLET que capture las notas definitivas del primer corte de la asignatura ESTRUCTURAS DE DATOS e indique: 1. La nota mas alta 2. La nota mas baja 3. El promedio de las notas 4. Debe permitir editar cualquier nota. 5. Mostrar las notas ordenadas de menor a mayor. Entregue todos los archivos del proyecto VIRTUALSABANA empaquetados en formato ZIP. en