Practica Estructura de datos

download Practica Estructura de datos

of 5

description

Practica sobre la introduccion de estructura de datos

Transcript of Practica Estructura de datos

Practica #1Nombre: Fernando Freddy Vsquez SolanoCI: 5743599 Or.Materia: Sis 2310 B- Estructura de DatosFecha: 21/08/15INTRODUCCION A LA ESTRUCTURA DE DATOS1. Investigar, que son y para qu sirven las estructuras de datos (mnimo tres dediciones)Una breve introduccin:En lo que se refiere a la resolucin de problemas, muchas veces para plantear el problema imaginamos objetosyaccionesqueserelacionanentres. Por ejemplo, un mesero tiene platos de colores apilados; de vez en cuando el que lava los platos coloca un plato recin lavado sobre la pila de platos; y en otras ocasiones el mesero toma el plato que esta hasta arriba y sirve ah la comida que ha sido preparada por el cocinero para posteriormente llevarla a sudestino. Si sabemos de qu color es la pila inicial de platos, y en qu momentos el que lava los platos coloc platos sobre la pila (y claro, tambin sabemos el color de estos), y en qu momentos el mesero retir el platoqueseencontrabahastaarriba;podemossaberdequcolorserelplatoqueletocaacadacliente. Una manera de saberlo podra ser, hacer una representacin dramtica de los hechos; pero esto no es necesario,ya que tambinpodramos tomar unlpiz yunpapel,yescribir una lista de los colores de los platos, posteriormente, ir escribiendo los colores de los platos que se pusieron en la pila al final de la lista,yborrarelultimocolordelalistacadaqueunplatoseretire. No se necesita ser un gran matemtico para pensar en hacer eso, sin embargo, en el momento de querer implementar un programa en C que lo reproduzca, nos encontramos con que no tenemos ninguna lista donde se coloquen y se quiten cosas del final, tenemos solamente arreglos, variables, estructuras, apuntadores, etc. Claro que podemos simular esta lista con las herramientas que nos proporciona C, as pues, los objetos (como la pila de platos) ligados a operaciones (como poner un nuevo plato o quitar un plato)quemodificanalobjetosonllamadosestructurasdedatos. Una definicin sencilla de estructura de datos: unin de un conjunto de datos y funciones que modificandichoconjunto. Es muy importante conocer las estructuras de datos ms comunes que se utilizan en la programacin, ya que la estructura de datos es vital para plantear el problema y al resolverlo, poder implementar su solucineficazmente.Algunas definiciones: Enprogramacin, unaestructura de datoses una forma de organizar un conjunto de datos elementales con elobjetivode facilitar su manipulacin. Un dato elemental es la mnimainformacinque se tiene en un sistema.Una estructura de datos define laorganizacine interrelacin de stos y un conjunto deoperacionesque se pueden realizar sobre ellos.

Una estructura de datos es una coleccin organizada de elementos de datos bajo las leyes de la informtica. Estos elementos, o ladrillos, son los tipos de datos, con los cuales se formas las estructuras de datos que incluyen los diferentes lenguajes. Enprogramacin, una estructura de datos es una forma particular de organizar datos en una computadora para que pueda ser utilizado de manera eficiente.Diferentes tipos deestructuras de datosson adecuadas para diferentes tipos deaplicaciones, y algunos son altamente especializados para tareas especficas.Lasestructuras de datosson un medio para manejar grandes cantidades de datos de manera eficiente para usos tales como grandesbases de datosy servicios de indizacin deinternet. Por lo general, lasestructuras de datoseficientes son clave para disear eficientesalgoritmos. Algunos mtodos formales de diseo y lenguajes de programacin destacan las estructuras de datos, en lugar de los algoritmos, como el factor clave de organizacin en el diseo desoftware.

En programacin, el trminoestructura de datosse utiliza para referirse a una forma de organizar un conjunto de datos que se relacionan entre s, sean estos simples o estructurados, con el objetivo de facilitar su manipulacin y de operarlo como un todo.

2. Mencione estructuras ms comunes que tienen los lenguajes de programacin.

Estructuras de Datos EstticasTienen un nmero fijo de elementos que queda determinado desde la declaracin de la estructura en el comienzo del programa. Ejemplo los arreglos. Las estructuras de datos estticas, presentan dos inconvenientes:La reorganizacin de sus elementos, si sta implica mucho movimiento puede ser muy costosa. Ejemplo: insertar un dato en un arreglo ordenado.Son estructuras de datos estticas, es decir, el tamao ocupado en memoria es fijo, el arreglo podra llenarse y si se crea un arreglo de tamao grande se estara desperdiciando memoria. Estructuras de Datos DinmicasLas estructuras de datos dinmicas nos permiten lograr un importante objetivo de la programacin orientada a objetos: la reutilizacin de objetos. Al contrario de un arreglo, que contiene espacio para almacenar un nmero fijo de elementos, una estructura dinmica de datos se ampla y contrae durante la ejecucin del programa.

A su vez, este tipo de estructuras se pueden dividir en dos grandes grupos segn la forma en la cual se ordenan sus elementos. Lineales No lineales Estructuras de Datos LinealesEn este tipo de estructuras los elementos se encuentran ubicados secuencialmente. Al ser dinmica, su composicin vara a lo largo de la ejecucin del programa que lo utiliza a travs de operaciones de insercin y eliminacin. Dependiendo del tipo de acceso a la secuencia, haremos la siguiente distincin: Listas:podemos acceder (insertar y eliminar) por cualquier lado. Pilas: slo tienen un nico punto de acceso fijo a travs del cual se aaden, se eliminan o se consultan elementos. Colas: tienen dos puntos de acceso, uno para aadir y el otro para consultar o eliminar elementos. Estructuras de Datos No LinealesDentro de las estructuras de datos no lineales tenemos los rboles y grafos. Este tipo de estructuras los datos no se encuentran ubicados secuencialmente. Permiten resolver problemas computacionales complejos.

3. Mencione las operaciones ms comunes que se realizan sobre las estructuras de datos.

Funcin constructora: Son los algoritmos y mecanismos que permiten construir una estructura. Funcin destructora: Son los algoritmos que liberan recursos del sistema. Funcin de acceso: Son los algoritmos a travs de los cuales se llega a una estructura y sus elementos: Funcin de prueba: Por medio de la funcin de acceso se llega a un elemento y se prueba si posee determinado atributo. Funcin de insercin: Permite la inclusin de un elemento. Funcin de eliminacin: Permite la eliminacin de un elemento. Funcin inversa: Las funciones que determina la posicin del elemento de dato en la estructura.

4. Investigue que es un TAD (Tipo abstracto de dato)

Un tipo de dato abstracto (TDA) es un tipo de dato definido de forma nica mediante un tipo y un conjunto dado de operaciones definidas sobre el tipo

UnTipo de dato abstracto(en adelanteTDA) es un conjunto de datos u objetos al cual se le asocianoperaciones. El TDA provee de una interfaz con la cual es posible realizar las operaciones permitidas, abstrayndose de la manera en como estn implementadas dichas operaciones. Esto quiere decir que un mismo TDA puede ser implementado utilizando distintas estructuras de datos y proveer la misma funcionalidad.

Un tipo de datos definido por el programador se denomina tipo abstracto de datos (TAD) para distinguirlo de los tipos predefinidos de datos. Los tipos abstractos de datos estn formados por los datos (estructuras de datos) y las operaciones (procedimientos o funciones) que se realizan sobre esos datos. El conjunto de operaciones definidas sobre el TAD debe ser cerrado, es decir, slo se debe acceder a los datos mediante las operaciones abstractas definidas sobre ellos. La abstraccin de datos slo permite acceder a ellos de manera controlada.

5. Investigue cuales TADs son los ms comunes que tienen los lenguajes de programacin.

TDA Conjunto: Coleccin de elementos tratado con las operaciones unin, interseccin y diferencia de conjuntos.

TDA Arreglo: Coleccin homognea de longitud fija tal que cada una de sus componentes pueden ser accedidas individualmente mediante uno o varios ndices, que sern de tipo ordinal, y que indican la posicin de la componente dentro de la coleccin.

TDA Registro: Tipo de datos heterogneo compuesto por un nmero fijo de componentes denominadas campos a las que se accede mediante un selector de campo.