ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

2.1.1 Definición. Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes.
5. Estructuras no lineales estáticas y dinámicas
Definición Las colas ofrecen dos operaciones fundamentales, que son encolar (al final de la cola) y desencolar (del comienzo de la cola). Al igual que.
III - Gestión de memoria
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Listas enlazadas c++ Prof. Franklin Cedeño.
ESTRUCTURAS LINEALES UNIDAD 3.
Estructuras de Datos (ARRAYS)
Tipos de Datos Básicos y Estructurados
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
MANEJO DE ARRAYS EN C.
Tema 1. Introducción a la programación (Lenguaje java).
ARREGLOS y MATRICES UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
PROGRAMACION DE Pilas o Stacks y Colas
Funcionamiento, programación
ESTRUCTURAS DE DATOS AVANZADAS
PROGRAMACION DE ESTRUCTURAS DE DATOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Arreglos Ing. Nahiby Castillo.
Estructuras de Datos Especificación formal de Listas.
Estructuras de datos M.I.A Daniel Alejandro García López.
Unidad 3 Punteros.
Colas y Listas Enlazadas
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Tema 6: Clases Antonio J. Sierra.
Listas circulares.
Fundamentos de Programación
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
PILAS, COLAS, RECURSIVIDAD.
Estructura de Datos y Algoritmos
Clase 10: Estructuras de datos y arreglos.
Estructura de Datos II Equipo 4 Equipo 7 Acosta Montiel Miguel A.
Qué son las Bases de Datos Conceptos Básicos. Definición de Bases de Datos  Una base de datos o banco de datos es un conjunto de datos que pertenecen.
Administración de Memoria
Aplicación de estructuras de datos
Trabajo de investigación (TEMA #7): TEORÍA DE GRAFOS
Árboles Recomendado: 1. Nivelación Funciones
Árboles Binarios Estructuras de Datos.
Fundamentos de Programación
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
Introducción a la programación
Tipos de Datos abstractos
Punteros Recomendado: 1. Nivelación Funciones
Vectores y Matrices.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Estructura de datos I CIS - UABJB.
INSTITUTO TECNOLOGICO DE APIZACO
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Teoría de lenguajes y compiladores
ARBOLES GENERALIZADOS
Arreglos unidimensionales
IMPLEMENTACION DE COLAS MEDIANTE LISTAS
Computación I. CI-2125 Tema VII
PROGRAMACION DE Pilas o Stacks
M.C. Meliza Contreras González
Laboratorio de programación
PROGRAMACION DE Pilas o Stacks y Colas
PUNTEROS. Los punteros son de amplia utilización en programación y muchos lenguajes permiten la manipulación directa o indirecta de los mismos. Su razón.
Tipos de Datos abstractos
Listas Dinámicas.
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
Transcripción de la presentación:

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. Datos Simples Hacen referencia a un único valor a la vez en memoria Entero, Real, Carácter, Lógico Arreglos, Registros, Archivos, Cadenas Estáticos Datos Estructurados Se refieren a un grupo de casillas de memoria Dinámicos Listas, Arboles, Grafos

Estructuras de Datos: Implementación Para implementar alguna estructura de datos, primero es necesario tener muy claro cómo va a ser el manejo de memoria. La diferencia entre estructuras estáticas y dinámicas es el manejo de memoria. Estática Durante la ejecución del programa el tamaño de la estructura no cambia Dinámica Durante la ejecución del programa el tamaño de la estructura puede cambiar

Estructuras de Datos Tema: Memoria Estática Subtema: Conceptos de Arreglos Definición: Colección finita, homogenea y ordenada de elementos. Finita: Porque todo arreglo tiene un límite. Homogenea: Porque todos los elementos son del mismo tipo. Ordenada: Porque se puede determinar cuál es el enésimo elemento. Un arreglo tiene dos partes: Componentes e índices C1 C2 .... Cn Componentes i0 i1 in Í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 Tema: Memoria Estática Subtema: Arreglos Unidimensionales Son los arreglos más simples y constan de un solo índice, tambien se llaman vectores. Notación: Podría ser de diferentes maneras. Por ej: Array [0...9] de enteros: Vector Vector: x 14 43 .... 4 Componentes x0 x1 x9 Índices X hace referencia a todo el vector, mientras que x0, o x1 hace referencia los elementos en forma individual

Estructuras de Datos Tema: Memoria Estática Subtema: Arreglos Unidimensionales Los arreglos se almacenan en forma adyacente, así que su representación en memoria es: X0 ,Dirección z; X1 ,Dirección z+1; Xn ,Dirección z+n Cada elemento del arreglo se puede procesar como si fuera una variable simple.Ej: Suma Suma + x[2] X[2] 15 i 3 X[i] 15 X[i+2] 15 Sobre los vectores se pueden realizar las siguientes operaciones: Lectura/Escritura, Asignación, Actualización(ins, eli, Mod), Ordenamiento y Búsqueda.

Estructuras de Datos Tema: Memoria Estática Subtema: Arreglos Bidimensionales Estos arreglos constan de dos índices, tambien se llaman matrices. Notación: Podría ser de diferentes maneras. Por ej: Array [0...2, 0...2] de enteros: Matriz Matriz: M 1 2 Indices 34 43 90 Operaciones: Lectura, Escritura, Asignación. 83 2 41 1 56 75 3 2 Componentes

Estructuras de Datos Tema: Memoria Estática Subtema: Registros(Estructuras) Un registro es una colección de datos, que pueden ser de diferentes tipos. Cada uno de sus elementos se llama Campo. Notación: Podría ser de diferentes maneras. Por ej: Tipo registro: Domicilio Entero: Calle Entero: Numero Cadena: Ciudad Fin Tipo Domicilio: dir Numero Ciudad Calle Domicilio El acceso a los campos se hace así: variable_registro.id_campo. Por Ej: dir.Calle, dir.Numero, dir.Ciudad.

Estructuras de Datos Tema: Memoria Estática Subtema: Arreglos y Registros Se pueden presentar las siguientes combinaciones: Arreglos de Registros: Cada elemento del registro es un arreglo. Vector N T S 1 2 Tipo registro: Cliente Cadena: Nombre Cadena: Teléfono Real: Saldo Fin Tipo Array [0...2] de Cliente: Vector Notación: Vector[0].Nombre

Estructuras de Datos Tema: Memoria Estática Subtema: Arreglos y Registros Registro Anidado: Por lo menos un campo del registro es de tipo registro. Tipo registro: Domicilio Entero: Calle Entero: Numero Cadena: Ciudad Fin Tipo Tipo registro: Cliente Cadena: Nombre Domicilio: Dirección Real: Saldo Cliente Nombre Dirección Cll Num Ciu Saldo Notación: Cliente.Nombre Cliente.Dirección.Calle

Estructuras de Datos Tema: Memoria Estática Subtema: Arreglos y Registros Registro con Arreglos: Por lo menos un campo del registro es un array. Array [0...2] de Real:Vector Tipo registro: Estudiante Cadena: Nombre Cadena: Código Vector: Notas Fin Tipo Estudiante Notas Nombre Código Notación: Estudiante.Nombre Estudiante. Notas[0]

Estructuras de Datos Tema: Memoria Dinámica Subtema: Apuntadores Las variables contienen valores especificos, las variables apuntador contienen direcciones de memoria de otras variables. La variable “ptrcont” contiene la dirección de memoria de la variable “cont” 2 cont 29DC ptrcont 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 Dinámica Subtema: Apuntadores Operadores: Una variable apuntador responde a dos operadores: Operando de Dirección(&): Que devuelve la dirección de su operando. Por ej: Entero Y, *ptry Y 5 Ptry &Y Operando de Indirección(*): Que devuelve el alias de su operando. Por ej: Escribir(*Ptry)

Estructuras de Datos Tema: Memoria Dinámica Subtema: Asignación 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 Dinámica Subtema: Conceptos de Listas Una lista es una colección 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 5 . 7 null

Estructuras de Datos Tema: Memoria Dinámica Subtema: Operaciones con Listas 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.

Estructuras de Datos Tema: Memoria Dinámica Subtema: Tipos de Listas Simplemente Encadenada Circular ptrcont 5 . 7 null ptrcont 5 . 7 Doblemente Encadenada Circular Doblemente Encadenada ptrcont 7 . null 5 ptrcont 7 . 5

Estructuras de Datos Tema: Memoria Dinámica Subtema: Listas de Acceso Restringido Pilas: Lista de elementos a la cuál 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 . 7 null

Estructuras de Datos Tema: Memoria Dinámica Subtema: 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.

Estructuras de Datos Tema: Memoria Dinámica Subtema: Arboles Son la estructura no-lineal más importante en computación. No-lineal porque a cada elemento(nodo) le pueden 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 Dinámica Subtema: Conceptos de Arboles Es una estructura jerárquica aplicada sobre una colección de elementos llamados nodos. Uno de los cuales es llamado raíz. Además se crea una relación de parentesco entre los nodos de forma que hay términos como padre, hijo, hermano, antecesor, sucesor, ancestro, etc. Para definir un árbol se necesita recursión. Se utilizan para representar formulas matemáticas, organizar información, árboles genealógicos, enumeración de capítulos y secciones de un libro, etc.

Estructuras de Datos Tema: Memoria Dinámica Subtema: Representación de Arboles Diagramas de Venn : A B D I J K E C G H L F Anidación de paréntesis : (A(B(D(I),E,F(J,K)),C(G,H(L))))