Está en la página 1de 22

ESTRUCTURAS DE DATOS I

Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos

Estructuras de Datos: Conceptos




Conjunto de datos de tipos iguales o diferentes que se relacionan entre si y que se pueden operar como un todo.
Entero, Real, Carcter, Lgico

Datos Simples Hacen referencia a un nico valor a la vez en memoria

Estticos

Arreglos, Registros, Archivos, Cadenas

Datos Estructurados Se refieren a un grupo de casillas de memoria Dinmicos Listas, Arboles, Grafos

Estructuras de Datos: Implementacin




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.
Dinmica Durante la ejecucin del programa el tamao de la estructura puede cambiar

Esttica Durante la ejecucin del programa el tamao de la estructura no cambia

Estructuras de Datos

Tema: Memoria Esttica Subtema: Conceptos de Arreglos




Definicin: Coleccin finita, homogenea y ordenada de elementos. Finita: Porque todo arreglo tiene un lmite. Finita: Homogenea: Homogenea: Porque todos los elementos son del mismo tipo. Ordenada: 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: Componentes: Hacen referencia a los elementos que forman el arreglo. ndices: Permiten referirse a los componentes del arreglo en ndices: forma individual.

Estructuras de Datos

Tema: Memoria Esttica Subtema: Arreglos Unidimensionales




Son los arreglos ms simples y constan de un solo ndice, tambien se llaman vectores.  Notacin: Podra ser de diferentes maneras. Por ej: Array [0...9] de enteros: Vector Vector: x
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

Estructuras de Datos Tema: Memoria Esttica Subtema: Arreglos Unidimensionales




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/ Lectura/Escritura, Asignacin, Actualizacin(ins, eli, Mod), Ordenamiento y Bsqueda.

Estructuras de Datos Tema: Memoria Esttica Subtema: Arreglos Bidimensionales




Estos arreglos constan de dos ndices, tambien se llaman matrices. matrices.  Notacin: Podra ser de diferentes maneras. Por ej: Array [0...2, 0...2] de enteros: Matriz Matriz: M 0 1 2 Indices 34 43 90 0  Operaciones: Lectura, 83 2 41 1 Escritura, Asignacin. 56 75 3 2 Componentes

Estructuras de Datos Tema: Memoria Esttica Subtema: Registros(Estructuras)


Un registro es una coleccin de datos, que pueden ser de diferentes tipos. Cada uno de sus elementos se llama Campo. Campo.  Notacin: Podra ser de diferentes maneras. Por ej: Tipo registro: Domicilio Entero: Calle Domicilio Entero: Numero Calle Numero Ciudad Cadena: Ciudad Fin Tipo Domicilio: dir
  

El acceso a los campos se hace as: variable_registro.id_campo. variable_registro.id_campo. Por Ej: dir.Calle, dir.Numero, dir.Ciudad.

Estructuras de Datos Tema: Memoria Esttica Subtema: Arreglos y Registros




I.

Se pueden presentar las siguientes combinaciones: Arreglos de Registros: Cada elemento Registros: del registro es un arreglo.
Vector S 0 N T S 1 N T S 2

Tipo registro: Cliente Cadena: Cadena: Nombre N T Cadena: Cadena: Telfono Real: Real: Saldo Fin Tipo Array [0...2] de Cliente: Vector [0...2 Cliente:

Notacin: Vector[0].Nombre

Estructuras de Datos Tema: Memoria Esttica Subtema: Arreglos y Registros


II.

Registro Anidado: Por lo menos un Anidado: campo del registro es de tipo registro.
Cliente
Direccin

Tipo registro: Domicilio Entero: Calle Entero: Numero Cadena: Ciudad Nombre Fin Tipo Tipo registro: Cliente Cadena: Cadena: Nombre Domicilio: Domicilio: Direccin Real: Real: Saldo Fin Tipo

Cll Num Ciu

Saldo

Notacin: Cliente.Nombre Cliente.Direccin.Calle

Estructuras de Datos Tema: Memoria Esttica Subtema: Arreglos y Registros


III.

Registro con Arreglos: Por lo menos un Arreglos: campo del registro es un array.
Estudiante
Notas

Array [0...2] de Real:Vector [0...2 Real: Tipo registro: Estudiante Cadena: Cadena: Nombre Cadena: Cdigo Vector: Vector: Notas Fin Tipo

Nombre

Cdigo

Notacin: Estudiante.Nombre Estudiante. Notas[0]

Estructuras de Datos Tema: Memoria Dinmica Subtema: Apuntadores




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.

Estructuras de Datos Tema: Memoria Dinmica Subtema: Apuntadores




Operadores: Operadores: Una variable apuntador responde a dos operadores:  Operando de Direccin(&): Que devuelve la direccin de su Direccin(&): operando. Por ej: Entero Y, *ptry Y 5 Ptry &Y  Operando de Indireccin(*): Que devuelve el alias de su operando. Indireccin(*): Por ej: Entero Y, *ptry Y 5 Ptry &Y Escribir(*Ptry)

Estructuras de Datos Tema: Memoria Dinmica Subtema: Asignacin de Memoria




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.

Estructuras de Datos Tema: Memoria Dinmica Subtema: Conceptos de Listas


 

Una lista es una coleccin de elementos, generalmente, llamados nodos. 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 null. nodos se guarden en forma contigua. ptrcont 5

null

Estructuras de Datos Tema: Memoria Dinmica Subtema: Operaciones con Listas


 

Crear: Crear: Define el primer elemento de la lista. Insertar: Insertar: Que coloca nuevos nodos al principio o al final del nodo dado. Recorrer: Recorrer: Que visita o atiende todos o algunos de los nodos de la lista bajo un criterio dado. Eliminar: 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.

Estructuras de Datos Tema: Memoria Dinmica Subtema: Tipos de Listas




Simplemente Encadenada
5

Circular
5

ptrcont

ptrcont

null

Doblemente Encadenada

ptrcont null

Circular Doblemente Encadenada


ptrcont

. 5. . 7.

null

. 5. . 7.

Estructuras de Datos Tema: Memoria Dinmica Subtema: Listas de Acceso Restringido




Pilas: Pilas: Lista de elementos a la cul se puede


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

Estructuras de Datos Tema: Memoria Dinmica Subtema: Listas de Acceso Restringido


 Colas: Colas:

Lista de elementos en la que el primero en entrar es el primero en salir(FIFO).  Se pueden representar con arreglos o listas.

Estructuras de Datos Tema: Memoria Dinmica Subtema: Arboles


Son la estructura no-lineal ms importante en nocomputacin.  No-lineal porque a cada elemento(nodo) le Nopueden seguir varios elementos(nodos).  Los arboles AVL(balanceados) son las mejores estructuras para trabajar con memoria principal.  Los arboles B y los B+ son las mejores estructuras para trabajar en memoria secundaria.


Estructuras de Datos Tema: Memoria Dinmica Subtema: Conceptos de Arboles




Es una estructura jerrquica aplicada sobre una coleccin de elementos llamados nodos. Uno de los nodos. cuales es llamado raz. 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.

Estructuras de Datos Tema: Memoria Dinmica Subtema: Representacin de Arboles




Diagramas de Venn :
A B D I E F J K C G H L

Anidacin de parntesis :  (A(B(D(I),E,F(J,K)),C(G,H(L))))

También podría gustarte