Tipos de datos abstractos
En lo que se refiere a la resolución de problemas, muchas veces para plantear el problema imaginamos objetos y acciones que se relacionan entre sí. Por ejemplo, un mesero tiene platos de colores apilados; de vez en cuando el que lava los platos coloca un plato recién lavado sobre la pila de platos; y en otras ocasiones el mesero toma el plato que esta hasta arriba y sirve ahí lacomida que ha sido preparada por el cocinero para posteriormente llevarla a su destino.
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, también sabemos el color de estos), y en qué momentos el mesero retiró el plato que se encontraba hasta arriba; podemos saber de qué color será el plato que le toca a cadacliente.
Una manera de saberlo podría ser, hacer una representación dramática de los hechos; pero esto no es necesario, ya que también podríamos tomar un lápiz y un papel, y escribir 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, y borrar el ultimo color de la lista cada vez que un plato se retire.No se necesita ser un gran matemático 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) que modifican al objeto son llamados estructuras de datos.
Una definición sencilla de estructura de datos: unión de un conjunto de datos y funciones que modifican dicho conjunto.
Es muy importante conocer las estructuras de datos más comunes que se utilizan en la programación, yaque la estructura de datos es vital para plantear el problema y al resolverlo, poder implementar su solución eficazmente. De las estructuras de datos básicas, se derivan muchas otras estructuras de datos más avanzadas.
Además es necesario que se sepa hacer un uso inteligente de ellas, todo buen programador debe de saber comprobar rigurosamente sus ideas o darse cuenta que está equivocado,¿Qué son TDA?
Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo similar a los tipos de datos definidos por el sistema.
Características de los TDA
* Están formados por un conjunto válido de elementos y un número de operaciones primitivas que se pueden realizar sobre ellos.
* Una vez definido se podrán declarar variables de ese tipo y operar con ellasutilizando las operaciones que aporta el tipo.
* Un TDA es el elemento básico de la abstracción de datos. Su desarrollo es independiente del lenguaje de programación utilizado, aunque este puede aportar mecanismos que faciliten su realización. Debe verse como una caja negra.
* En un TDA existen dos elementos diferenciados:
- La Interfaz de utilización
- Larepresentación
A la hora de utilizar el TDA, la representación debe permanecer oculta. Solo podremos utilizar las operaciones del tipo para trabajar con sus elementos.
* Para construir un tipo abstracto debemos:
1. Exponer una definición del tipo.
2. Definir las operaciones (funciones y procedimientos) que permitan operar con instancias de ese tipo.
3.Ocultar la representación de los elementos del tipo de modo que sólo se pueda actuar sobre ellos con las operaciones proporcionadas.
4. Poder hacer instancias múltiples del tipo.
¿Qué son Estructuras de Datos?
En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima...
Regístrate para leer el documento completo.