Tipos de Datos abstractos

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.
Sistemas Operativos Gestión de Memoria.
funciones Por: Carlos Alberto García Acosta
ESTRUCTURA DE DATOS.
Estructuras de Datos (ARRAYS)
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.
Una variable en un programa es algo con un nombre, cuyo valor puede variar. La manera en que el compilador y enlazador maneja esto es asignando un bloque.
Tema 1. Introducción a la programación (Lenguaje java).
Funcionamiento, programación
PROGRAMACION DE ESTRUCTURAS DE DATOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Windows XP sp3.
Arreglos Ing. Nahiby Castillo.
Estructuras de datos M.I.A Daniel Alejandro García López.
Herramientas para el acceso directo a memoria en C++
Vectores en java.
Almacenamiento y Recuperación de la Información 2do Semestre 2005 Wenceslao Palma M.
Tipos de Datos abstractos

UNIDAD I Conceptos Básicos.
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
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.
Unidad 1 Definiciones Básicas
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Índice. Revisando conceptos acerca de la memoria.
ARREGLOS BIDIMENSIONALES
Estructuras de Datos Arreglos.
Clase 10: Estructuras de datos y arreglos.
(Organización y Manejo de Archivos)

Aplicación de estructuras de datos
MÉTODO DE PIXELES DE BORDE
Archivos Programación I MC Beatriz Beltrán Martínez.
Capítulo 7 Gestión de memoria.
M A T R I C E S MATRICES matrices.
Arreglos Programación I MC Beatriz Beltrán Martínez.
4.  Métodos matemáticos.
CLASE 8 Ruben Martinez c Tipo Inferencia Es un mecanismo donde por el tipo las especificaciones se pueda omitir a menudo totalmente, si es.
Fundamentos de Programación


APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Tabla de frecuencias Estadística Tema: Tablas de Frecuencias


Vectores y Matrices.
INAOE CURSO PROPEDEUTICO PARA LA MAESTRIA EN ELECTRONICA
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
Estructura de datos I CIS - UABJB.
Universidad de San Pedro Sula
Computación I. CI-2125 Tema VII
PROGRAMACION DE Pilas o Stacks

ARREGLOS BIDIMENSIONALES MATRICES Son un espacio de almacenamiento continuo, que contiene una serie de elementos del mismo tipo de datos. Desde el punto.
M.C. Meliza Contreras González
MATRICES.
ESTÁTICA Juan José Irazábal Valdés A MECÁNICA  La mecánica puede ser definida como la rama de la física que trata acerca del estado de reposo.
MEMORIA DINÁMICA.
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
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
Tema 1. Estructuras de datos Objetivo: Objetivo: El alumno resolverá problemas de almacenamiento, recuperación y ordenamiento de datos y las técnicas de.
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
Tipos de Datos abstractos
Tipos de Datos abstractos
Unidad 1 Definiciones Básicas
Tipos de Datos abstractos
Transcripción de la presentación:

Tipos de Datos abstractos Estructuras de Datos MC Beatriz Beltrán Martínez

Características Se sabe que los programas actúan sobre la información. La cual se dispondrá de una manera particular, organizada en forma que se faciliten las operaciones que conforman el algoritmo. El término Estructura de Datos refiere a dos partes de la Organización de la Información. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Características Organización Lógica: Involucra todo aquello que tenga que ver con las partes de cada elemento, tipo de los elementos, referencia a alguno o algunos elementos, cantidad de los elementos que contiene la estructura, relaciones entre los elementos, etc. Organización Física: Se refiere a todo aquello que tenga que ver con la ubicación de la información en la memoria y la forma de almacenarla de acuerdo a sus dominios. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Características Estructura de datos Se caracteriza por sus dos tipos de organización Las operaciones que se pueden realizar sobre los elementos Eliminar Añadir Buscar FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Plantea un concepto más amplio de lo que es el tipo Características Algoritmo ED Vínculo Plantea un concepto más amplio de lo que es el tipo FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Ejemplo Organización Lógica: Arreglo de un índice; Inicio: 1, Fin: 50; Tipo de elementos: Entero;   Organización Física: Almacenamiento: Secuencial Dirección Inicial: dir(A) Tamaño del elemento: 2 bytes; Número de elementos: 50; FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Considerar La eliminación de un elemento se puede pensar en dos formas: Por desplazamiento. Por marca. Podemos observar en los anteriores algoritmos que el segundo es más rápido, mientras que el primero se limita a ocupar el espacio mínimo. Cantidad de memoria que consume la estructura contra tiempo de realización de una operación. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Tipos de ED y sus dominios A partir de las diferentes formas que existen para organizar la información tenemos que en cuanto a la Organización Lógica los diversos lenguajes de programación proporcionan los elementos básicos de información y constructores para definir ED. Se tienen tipos básicos, pero también se tienen constructores para formar diferentes estructuras. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Tipos de ED y sus dominios El REGISTRO proporciona heterogeneidad en este producto cartesiano; por ejemplo: Sea x un REGISTRO con los campos y de tipo ENTERO z de tipo REAL tiene como dominio Dom (x) = Z X R, cuyos elementos son de la forma (a,b) a Z y bR. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Tipos de ED y sus dominios En general, tenemos que por ejemplo: Sea k un REGISTRO con los campos l de tipo booleano m de tipo x Dom(k) = B X Dom(x) Para poder generalizar esto último, se deben considerar los elementos de referencia, para ello consideremos que en el siguiente ejemplo el operador ^ define tales elementos. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Tipos de ED y sus dominios Sea p un REGISTRO con los campos xc, yc de tipo Real Sea l-p un REGISTRO con los campos punto de tipo p sp de tipo ^l-p Dom (l-p) define un dominio recursivo: Dom (l-p) = Dom (p) x dom (^l-p) Los elementos de Dom (^l-p) son de la forma Dom(^l-p) = {nil} U [Dom (l-p)]. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Organización física la organización física tiene que ver con el “lugar” y la “forma” dentro de la memoria donde se almacena la información. Tanto el “lugar” como la “forma” son representados por el “espacio” el cual puede ser “fijo” o “variable”. De lo anterior, se tiene que las E.D. se clasifican en: Estáticas (Espacio Fijo) Dinámicas (Espacio Variante) FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Memoria Dinámica y Estática Catálogo de algunas estructuras de datos conocidas, dinámicas: Lista simple ligada Árboles Lista doblemente ligada Estáticas: Arreglos Pila Cola FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Arreglos Organización Lógica: Dimensiones. Límite inferior y superior de cada dimensión. Tipo de elementos.  Organización Física: Dirección inicial (de un intervalo de memoria) Tamaño de los elementos. Orden de las dimensiones. Desplazamientos . FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Arreglo Las operaciones con los arreglos son: Recuperación de uno de sus elementos. Actualización de un elemento. Ambas operaciones se realizan en función de los índices que señalan la ubicación del elemento. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Intervalo de memoria: [DirA, DirA+19] Arreglos Sea A un ARREGLO [1..20] con elementos de tipo Carácter. Reserva un intervalo de memoria de 20 lugares consecutivos a partir de una dirección que denotaremos por DirA. A[1] A[2] A[3] A[20] DirA DirA+1 DirA+2 DirA+19 Intervalo de memoria: [DirA, DirA+19] FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Polinomio de Direccionamiento Suponiendo que el direccionamiento sea a nivel de bytes. Las operaciones se reducen al cálculo del Polinomio de Direccionamiento (Pd). El Pd obtiene la dirección absoluta de un elemento del arreglo dados sus índices.  FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Polinomio de Direccionamiento Por ejemplo: Si nos referimos a A[7] Pd (A[7]) = DirA + 6 Pd (A[x]) = DirA + x-1. En general se tiene que si B es un ARREGLO [1..5] con elementos de tipo T Pd (B[x]) = DirB + (x-1) lt; con lt igual a la longitud en bytes asignada al tipo T. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Polinomio de Direccionamiento Para almacenar los elementos de una matriz en la memoria que es lineal, podemos hacerlo por columnas o por renglones. Matriz de 3X4 11 12 13 14 21 22 23 24 31 32 33 34 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Polinomio de Direccionamiento Por columnas: Dirección Elemento 100=dir 11 101=dir+1 21 1ª. Columna 102=dir+2 31 103=dir+3 12 104=dir+4 22 2ª. Columna 105=dir+5 32 106=dir+6 13 107=dir+7 23 3ª. Columna 108=dir+8 33 109=dir+9 14 110=dir+10 24 4ª. Columna 111=dir+11 34 FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Polinomio de Direccionamiento Para la dirección del elemento C[i][ j] y el almacenamiento por columnas, el PD es: pd(C[i][ j])=dirC+[n*(j-1)+(i-1)]*T Si el almacenamiento se hubiese realizado por renglones, entonces el PD quedaría como: pd(C[i,j])=dirC+[m*(i-1)+(j-1)]*T FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Polinomio de Direccionamiento El caso más general, que es la declaración: Tipo E [inf1,sup1] [inf2,sup2] …, [infn,supn]; donde infi, supi es el límite inferior y límite superior de la i-ésima dimensión respectivamente.  Sea ri el rango de la i-ésima dimensión definido como: ri = supi-infi+1, y T el tamaño en bytes de Tipo. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Polinomio de Direccionamiento Entonces el PD es: pd(E[k1,k2,…,kn]) = dirE + [r1 * r2 * r3 * … * rn- 1 * (kn-infn) + r1* r2* r3 * … * rn-2 * (kn-1-infn-1) + … + r1 * (k2-inf2) + (k1-inf1)] * T Para referenciar un elemento que se encuentra en una estructura utilizaremos la dirección inicial del registro y los tamaños en bytes de cada uno de los campos del registro de acuerdo a su tipo. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez

Polinomio de Direccionamiento Entonces la fórmula quedaría de la siguiente manera: Sea estructura R { x1 : T1; x2 : T2; … xn : Tn; } y sea dirR la dirección inicial de R. FCC - BUAP Otoño 2014 MC Beatriz Beltrán Martínez