[modo de compatibilidad]) · pdf fileuna estructura de datos define la organización e...

22
CONCEPTOS BÁSICOS ESTRUCTURAS DE DATOS ESTRUCTURAS DE DATOS 2006 Prof. Ing. M.Sc. Fulbia Torres

Upload: vuongkhue

Post on 01-Feb-2018

223 views

Category:

Documents


4 download

TRANSCRIPT

CONCEPTOS BÁSICOS

ESTRUCTURAS DE DATOSESTRUCTURAS DE DATOS

2006

Prof. Ing. M.Sc. Fulbia Torres

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

GRACIAS POR SU ATENCIÓN

HASTA LA PRÓXIMA HASTA LA PRÓXIMA CLASE

Ing. M.Sc. Fulbia TorresAsignatura: Estructuras de DatosBarquisimeto 2006