[Modo de compatibilidad]) · PDF fileUna estructura de datos define la organización e...
Transcript of [Modo de compatibilidad]) · PDF fileUna estructura de datos define la organización e...
UNIDAD ICONCEPTOS BÁSICOS
� Datos. Información. Estructuras de Datos.
� Operaciones sobre una estructura.
� Perspectivas o niveles de datos.
� Implementación en hardware y software.
� Representación de una estructura de datos.
� Clasificación de una estructura de datos.
� Abstracción.
� Tipos abstractos de datos.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
DATOS son elementos de información en bruto, no procesados.
Ejemplo: horas de trabajo, tasa salarial, etc.
Una vez que los datos son procesados por la computadora, se les
CONCEPTOS BÁSICOS
Una vez que los datos son procesados por la computadora, se lesllama INFORMACIÓN. Ejemplo de información sería el salario totalque debe pagársele por una semana de trabajo.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
ESTRUCTURAS DE DATOS colección de elementos de datos
relacionados y organizados.
En programación, una estructura de datos es una forma deEn programación, una estructura de datos es una forma de
organizar un conjunto de datos elementales (un dato elemental es lamínima información que se tiene en el sistema) con el objetivo defacilitar la manipulación de estos datos como un todo y/oindividualmente.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Una estructura de datos define la organización e interrelación de
estos, y un conjunto de operaciones que se pueden realizar sobreellos.
Funciones básicas para estructuras:Funciones Constructoras: se encargan de crear laFunciones Constructoras: se encargan de crear la
estructura, es decir definen las características, la delimitación, lasrelaciones y asignan el espacio correspondiente.
Funciones para Acceso: facilitan la llegada de un elementoperteneciente a la estructura.
Funciones Destructoras: se encargan de devolver al sistemalos recursos asignados a la estructura de datos para que queden adisposición de éste. Ing. M.Sc. Fulbia Torres
Asignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Operaciones que se pueden realizar sobre la E.D.:• Búsqueda, encontrar un determinado valor en la estructura
para realizar una operación con este valor.
• Ordenamiento, de los elementos pertenecientes a laestructura.estructura.
• Apareo, dadas dos estructuras originar una nueva ordenada yque contenga a las apareadas.
• Navegar por la estructura, recorrido por la estructura, es unaoperación básica y garantiza que se puede recuperar lainformación almacenada.
• Consulta, permite obtener información de uno o máselementos de la estructura.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
• Copia parcial o total, es aquella mediante la cual se puedeobtener total o parcialmente una estructura con característicassimilares a la original.
• Prueba, permite determinar si uno o varios elementos cumplen• Prueba, permite determinar si uno o varios elementos cumplendeterminadas condiciones.
• Modificación, permite variar parcial o totalmente el contenido de lainformación de los elementos de la estructura.
• Imprimir, permite escribir la información contenida en laestructura.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Cada estructura ofrece ventajas y desventajas en relación a la
simplicidad y eficiencia para la realización de cada operación. Deesta forma, la elección de la estructura de datos apropiada paraesta forma, la elección de la estructura de datos apropiada paracada problema depende de factores como las frecuencias y elorden en que se realiza cada operación sobre los datos.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Las estructuras de datos las podemos considerar desde tres
perspectivas o niveles diferentes de datos.
Nivel de Aplicación: ( o usuario ) forma de modelar los datos de la
vida real en un contexto específico.
Nivel de Abstracto: ( o lógico ) colección abstracta de elementos y
sus conjuntos correspondientes de operaciones de acceso.
Nivel de Implementación: una representación de la estructura y sus
operaciones de acceso en un lenguaje de programación.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Implementación de las Estructuras de Datos
Hay dos tipos de implementación:
Implementación en Hardware: en el cual el circuito necesario
para realizar la operación requerida es diseñado y construido comoparte del computador.
Las implementaciones en hardware son estructuras primitivas:como los arreglos, variables, archivos, registros.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Implementación en Software: en el cual se escribe un programa
que consiste de instrucciones de hardware existentes parainterpretar las hileras de bits en la forma deseada y para realizarinterpretar las hileras de bits en la forma deseada y para realizarlas operaciones requeridas.
La implementación en software son estructuras no primitivas: pila,cola, árbol, listas.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Maneras de caracterizar las Estructuras de Datos
Punto de vista físico: la estructura de datos, desde el punto de vista
físico, está enfocada básicamente a la manera como quedafísico, está enfocada básicamente a la manera como quedaalmacenada la información.
Punto de vista lógico: la estructura de datos, desde el punto de vistalógico, enfoca el aspecto de las relaciones que existen entre loselementos.
Punto de vista funcional: se refiere a la independencia entre lasaplicaciones y los datos, que permiten la utilización compartida dedatos (base de datos)
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Ejemplo:
Registro del archivo de EMPLEADOS
Datos – Empleados
Identificación Fecha-Entrada
código día
cédula mes
año
Nombre-Comp
nombre
apellido-1
apellido-2
Cargo Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
código cédula nombre apellido-1 apellido-2 cargo día mes año
Estructura desde el punto de vista físico
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Datos-Empleado
Identificación Nombre-comp Cargo Fecha-Entrada
Estructura desde el punto de vista lógico
Identificación Nombre-comp Cargo Fecha-Entrada
código cédula nombre apellido-1 apellido-2 día mes año
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Representación de una Estructura de Datos
Secuencial: son aquellas colocadas una al lado de la otra. Son
estructuras de datos estáticas. Ejemplo: arreglos, archivos, colas,pilas.pilas.
Encadenada: son aquellas que se unen a través apuntadores.
Son estructuras de datos dinámicas. Ejemplo: listas, árboles.
También se habla de E.D. Semiestáticas como las listas, pilas,
colas.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Clasificación de una Estructura de Datos
Estructuras Primitivas y simples: son aquellas que no están
compuestas o no se derivan de otras estructuras de datos. Ejemplo:arreglos, cadenas, registros.
Estructuras no Primitivas: son aquellas que se componen o se
derivan de las primitivas. Ejemplo: colas, pilas, listas.
Estructuras lineales y no lineales: dependen de la complejidad de
las relaciones lógicas que representan. Las estructuras de datoslineales incluyen pilas, colas y listas enlazadas lineales. Lasestructuras de datos no lineales incluyen grafos y árboles.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOS
Abstracción: habilidad de concentrarse en lo general y
fundamental y pasar por alto el detalle, lo cual simplifica el análisisy lo centra en lo relevante. Ej.: sumar C + D.
Abstracción de Procedimientos: se determinan los propósitos uAbstracción de Procedimientos: se determinan los propósitos uoperaciones necesarias para dar la solución a un problema ymediante la modularidad se efectúa la separación en unidadesfuncionales
Abstracción de Datos: facilidad mediante la cual en un lenguajede programación se pueden definir nuevos tipos de datos.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOSTIPOS ABSTRACTOS DE DATOS (TAD)
Un TAD es un tipo de dato, que se agrega al lenguaje de
programación para representar un tipo de elemento involucrado enel problema. Des esta forma se hace que el lenguaje se acerque almundo del problema, manejando los elementos que allí seencuentran.encuentran.
Especificaciones de un TAD:
• Se define con un nombre.• Un formalismo para expresar el objeto abstracto.• Un invariante.• Conjunto de operaciones sobre este objeto.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOSTIPOS ABSTRACTOS DE DATOS (TAD)
TAD nombre
< objeto abstracto >
< invariante del TAD >
< operaciones >
Objeto abstracto: representación abstracta de un objeto sobre elcual se va a trabajar, permite expresar las condiciones, relaciones,restricciones y operaciones de elementos modelados.
Invariante: establece una noción de validez para cada uno de losobjetos abstractos, en términos de condiciones sobre su estructurainterna y sus componentes.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006
CONCEPTOS BÁSICOSTIPOS ABSTRACTOS DE DATOS (TAD)
Clasificación de las operaciones: se clasifican en tres (3) grupos
según su función sobre el objeto abstracto.
Constructora: es la operación encargada de crear elementos delTAD.
Modificadora: es la operación que puede alterar el estado de unelemento del TAD. Su misión es simular la reacción del objeto.
Analizadora: es una operación que no altera el estado del objeto,sino que tiene como misión consultar su estado y retornar algúntipo de información.
Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006