Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTRUCTURAS DE DATOS
Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos
Concepto
En programacin, una estructura de datos es una forma de organizar un conjunto de datos elementales (un dato elemental es la mnima informacin que se tiene en el sistema) con el objetivo de facilitar la manipulacin de estos datos como un todo o individualmente.
16/08/2011
Organizacin
Una estructura de datos define la organizacin e interrelacionamiento de estos, y un conjunto de operaciones que se pueden realizar sobre l. Las operaciones bsicas son: De Alta, adicionar un nuevo valor a la estructura. De Baja, borrar un valor de la estructura. De Bsqueda, encontrar un determinado valor en la estructura para realizar una operacin con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estn ordenados)... Ordenamiento, de los elementos pertenecientes a la estructura. Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas.
Consideraciones
Cada estructura ofrece ventajas y desventajas en relacin a la simplicidad y eficiencia para la realizacin de cada operacin. De esta forma, la eleccin de la estructura de datos apropiada para cada problema depende de factores como la frecuencia y el orden en que se realiza cada operacin sobre los datos.
16/08/2011
Caractersticas
Pueden descomponerse en los elementos que la forman. La manera en que se colocan los elementos dentro de la estructura afectar la forma en que se realicen los accesos a cada elemento. La colocacin de los elementos y la manera en que se accede a ellos puede ser encapsulada.
Datos Simples
Binarios
Bit Byte
Numricos
Entero Real Coma fija Coma flotante
Alfanumricos
Carcter Cadena
16/08/2011
Estructura de Datos
Arrays (Arreglos)
Vectores Matrices
Estructura de Datos
rboles
rboles Binarios
rbol binario de bsqueda rbol binario de bsqueda autoajustable rboles Rojo-Negro rboles AVL rboles Biselados (rboles Splay)
16/08/2011
Datos Estructurados Se refieren a un grupo de casillas de memoria Dinmicos Listas, Arboles, Grafos
16/08/2011
ndices Componentes: Componentes: Hacen referencia a los elementos que forman el arreglo. ndices: Permiten referirse a los componentes del arreglo en ndices: forma individual.
X hace referencia a todo el vector, mientras que x0, o x1 hace referencia los elementos en forma individual
16/08/2011
X[i+2] 15 Sobre los vectores se pueden realizar las siguientes operaciones: Lectura/ Lectura/Escritura, Asignacin, Actualizacin(ins, eli, Mod), Ordenamiento y Bsqueda.
34 43 90 83 2 56 75 3 Componentes
16/08/2011
El acceso a los campos se hace as: variable_registro.id_campo. variable_registro.id_campo. Por Ej: dir.Calle, dir.Numero, dir.Ciudad. Ej: dir.Calle, dir.Numero, dir.Ciudad.
Se pueden presentar las siguientes combinaciones: Arreglos de Registros: Cada elemento del registro es un arreglo.
Vector T S 0 N T S 1 N T S 2
Tipo registro: Cliente Cadena: Cadena: Nombre N Cadena: Cadena: Telfono Real: Saldo Real: Fin Tipo Array [0...2] de Cliente: Vector [0...2 Cliente:
Notacin: Vector[0].Nombre
16/08/2011
Cliente
Direccin
Saldo
Estudiante
Notas
Nombre
Cdigo
16/08/2011
cont 2
Las variables apuntador estan asociadas a un tipo de dato. Por ej. Si el valor de cont es entero la variable apuntador ptrcont debe ser de tipo entero.
10
16/08/2011
null
11
16/08/2011
Circular
ptrcont 5
Doblemente Encadenada
ptrcont null
. 5. . 7.
null
. 5. . 7.
12
16/08/2011
insertar o eliminar elementos nicamente por uno de sus extremos. Los elementos se eliminan en forma inversa a los que se insertaron, es decir, el ultimo elemento que ingresa es el primero que se elimina(LIFO). Se pueden representar con arreglos o listas.
ptrcont 5
null
Memoria Dinmica -Listas de Acceso Restringido Colas: Lista de elementos en la que el primero en entrar es el primero en salir(FIFO). Se pueden representar con arreglos o listas.
13
16/08/2011
14
16/08/2011
Terminologa de un rbol
HIJO. X es hijo de Y, s y solo s el nodo X es apuntado por Y. Tambin se dice que X es descendiente directo de Y. PADRE. X es padre de Y s y solo s el nodo X apunta a Y. Tambin se dice que X es antecesor de Y. HERMANO. Dos nodos sern hermanos si son descendientes directos de un mismo nodo. HOJA. Se le llama hoja o terminal a aquellos nodos que no tienen ramificaciones (hijos). NODO INTERIOR. Es un nodo que no es raz ni terminal. GRADO. Es el nmero de descendientes directos de un determinado nodo. GRADO DEL ARBOL Es el mximo grado de todos los nodos del rbol. NIVEL. Es el nmero de arcos que deben ser recorridos para llegar a un determinado nodo. Por definicin la raz tiene nivel 1. ALTURA. Es el mximo nmero de niveles de todos los nodos del rbol. PESO. Es el nmero de nodos del rbol sin contar la raz. LONGITUD DE CAMINO. Es el nmero de arcos que deben ser recorridos para llegar desde la raz al nodo X. Por definicin la raz tiene longitud de camino 1, y sus descendientes directos longitud de camino 2 y as sucesivamente.
Tablas Hash
Una tabla hash o mapa hash es una estructura de datos que asocia llaves o claves con valores. La operacin principal que soporta de manera eficiente es la bsqueda: permite el acceso a los elementos (telfono y direccin, por ejemplo) almacenados a partir de una clave generada (usando el nombre o nmero de cuenta, por ejemplo). Funciona transformando la clave con una funcin hash en un hash, un nmero que la tabla hash utiliza para localizar el valor deseado.
15
16/08/2011
16