Professional Documents
Culture Documents
Conjunto de datos de tipos iguales o diferentes que se relacionan entre si y que se pueden operar como un todo.
Datos Simples Hacen referencia a un nico valor a la vez en memoria Entero, Real, Carcter, Lgico Estticos Arreglos, Registros, Archivos, Cadenas
Datos Estructurados Se refieren a un grupo de casillas de memoria Dinmicos Listas, Arboles, Grafos
Para implementar alguna estructura de datos, primero es necesario tener muy claro cmo va a ser el manejo de memoria. La diferencia entre estructuras estticas y dinmicas es el manejo de memoria.
Estructuras de Datos
Definicin: Coleccin finita, homogenea y ordenada de elementos. Finita: Porque todo arreglo tiene un lmite. Homogenea: Porque todos los elementos son del mismo tipo. Ordenada: Porque se puede determinar cul es el ensimo elemento. Un arreglo tiene dos partes: Componentes e ndices C1 C2 .... Cn i0 i1 in Componentes ndices Componentes: Hacen referencia a los elementos que forman el arreglo. ndices: Permiten referirse a los componentes del arreglo en forma individual.
Estructuras de Datos
14 43 .... 4 x0
Componentes ndices
x1
x9
X hace referencia a todo el vector, mientras que x0, o x1 hace referencia los elementos en forma individual
Los arreglos se almacenan en forma adyacente, as que su representacin en memoria es: X0 ,Direccin z; X1 ,Direccin z+1; Xn ,Direccin z+n Cada elemento del arreglo se puede procesar como si fuera una variable simple.Ej:
Suma X[2] i X[i] X[i+2] Suma + x[2] 15 3 15
15 Sobre los vectores se pueden realizar las siguientes operaciones: Lectura/Escritura, Asignacin, Actualizacin(ins, eli, Mod), Ordenamiento y Bsqueda.
56 75 3 2 Componentes
El acceso a los campos se hace as: variable_registro.id_campo. Por Ej: dir.Calle, dir.Numero, dir.Ciudad.
I.
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: Nombre N Cadena: Telfono Real: Saldo Fin Tipo Array [0...2] de Cliente: Vector
Notacin: Vector[0].Nombre
Tipo registro: Domicilio Entero: Calle Entero: Numero Cadena: Ciudad Nombre Fin Tipo Tipo registro: Cliente Cadena: Nombre Domicilio: Direccin Real: Saldo Fin Tipo
Saldo
Array [0...2] de Real:Vector Tipo registro: Estudiante Cadena: Nombre Cadena: Cdigo Vector: Notas Fin Tipo
Las variables contienen valores especificos, las variables apuntador contienen direcciones de memoria de otras variables.
La variable ptrcont contiene la direccin de memoria de la variable cont ptrcont 29DC 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.
Operadores: Una variable apuntador responde a dos operadores: Operando de Direccin(&): Que devuelve la direccin de su operando. Por ej: Entero Y, *ptry Y 5 Ptry &Y Operando de Indireccin(*): Que devuelve el alias de su operando. Por ej: Entero Y, *ptry Y 5 Ptry &Y Escribir(*Ptry)
Es el proceso por el cual a una estructura, sea cual fuere, se le coloca a apuntar una variable del mismo tipo y sobre ese apuntador se reserva o se libera memoria de acuerdo a si la estructura crece o decrece.
Una lista es una coleccin de elementos, generalmente, llamados nodos. En gral un nodo tiene 2 partes: Un campo de info que ser del tipo de datos que se quiera almacenar en la lista. Un campo de tipo apuntador que se utiliza para establecer un enlace con otro nodo de la lista. Si es el ultimo nodo su valor es null. Ya no es necesario que los nodos se guarden en forma contigua.
ptrcont
null
Crear: Define el primer elemento de la lista. Insertar: Que coloca nuevos nodos al principio o al final del nodo dado. Recorrer: Que visita o atiende todos o algunos de los nodos de la lista bajo un criterio dado. Eliminar: Que borra un nodo dado. Se puede eliminar el 1 nodo, el ultimo, el que tenga un info x o el anterior o posterior al que tenga una info x.
Simplemente Encadenada
5
Circular
5
ptrcont
ptrcont null
Doblemente Encadenada
ptrcont null
. 5. . 7.
null
. 5. . 7.
null
Es una estructura jerrquica aplicada sobre una coleccin de elementos llamados nodos. Uno de los cuales es llamado raz. Adems se crea una relacin de parentesco entre los nodos de forma que hay trminos como padre, hijo, hermano, antecesor, sucesor, ancestro, etc. Para definir un rbol se necesita recursin. Se utilizan para representar formulas matemticas, organizar informacin, rboles genealgicos, enumeracin de captulos y secciones de un libro, etc.
Diagramas de Venn :
A B D I E F J K C G H L