0 calificaciones0% encontró este documento útil (0 votos)
4 vistas2 páginas
Un tipo de dato abstracto (TDA) es un modelo matemático que define un conjunto de operaciones sobre un conjunto de datos sin especificar su implementación. Un TDA separa la interfaz, que es pública, de la implementación, la cual puede variar. Esto permite que programas usen un TDA sin depender de detalles de implementación.
Un tipo de dato abstracto (TDA) es un modelo matemático que define un conjunto de operaciones sobre un conjunto de datos sin especificar su implementación. Un TDA separa la interfaz, que es pública, de la implementación, la cual puede variar. Esto permite que programas usen un TDA sin depender de detalles de implementación.
Un tipo de dato abstracto (TDA) es un modelo matemático que define un conjunto de operaciones sobre un conjunto de datos sin especificar su implementación. Un TDA separa la interfaz, que es pública, de la implementación, la cual puede variar. Esto permite que programas usen un TDA sin depender de detalles de implementación.
Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo
matemático compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo. Cuando se usa en un programa de computación, un TDA es representado por su interfaz, la cual sirve como cubierta a la correspondiente implementación. La idea es que los usuarios de un TDA tengan que preocuparse sólo por la interfaz, pero no por la implementación, ya que esta puede ir cambiando con el tiempo y, si no existiera encapsulación, afectar a los programas que usan el dato. Esto se basa en el concepto de Ocultación de información, una protección para el programa de decisiones de diseño que son objeto de cambio. La solidez de un TDA reposa en la idea de que la implementación está escondida al usuario. Solo la interfaz es pública. Esto significa que el TDA puede ser implementado de diferentes formas, pero mientras se mantenga consistente con la interfaz, los programas que lo usan no se ven afectados. Hay una diferencia, aunque a veces sutil, entre el Tipo de Dato Abstracto y la Estructura de Dato usada en su implementación. Por ejemplo, un TDA de una lista puede ser implementado mediante un Arreglo o una Lista Enlazada o hasta un Árbol binario de búsqueda. Una lista es un Tipo de Dato Abstracto con operaciones bien definidas (agregar elemento, agregar al final, agregar al principio, recuperar, eliminar, etc) mientras una lista enlazada es una estructura de datos basada en punteros o referencias (dependiendo del lenguaje) que puede ser usada para crear una representación de una Lista. La Lista Enlazada es comúnmente usada para representar una TDA Lista, y a veces, hasta confundida. Un ejemplo es la clase Linked List de Java, la cual ofrece una gran cantidad de métodos que no corresponden a una Lista Enlazada "pura", sino a un fuerte TDA. De forma similar, un TDA Árbol binario de búsqueda puede ser representado de muchas maneras: Árbol binario, Árbol AVL, Árbol rojo-negro, Arreglo, etc. A pesar de la implementación un Árbol binario siempre tiene las mismas operaciones (insertar, eliminar, encontrar, etc.) Separar la interfaz de la implementación no siempre significa que el usuario ignora totalmente la implementación de la rutina, pero lo suficiente para no depender de ningún aspecto de la implementación. Por ejemplo, un TDA puede ser creado usando un script o cualquiera que pueda ser decompilado (como C). En la terminología de Lenguaje Orientado a Objeto, un TDA es una clase; una instancia de un TDA o clase, es un objeto. Además es utilizado constantemente por programadores de computadoras. Los TDA por lo general establecen conceptos puros de la programación orientada a objetos como lo son el encapsulamiento y ocultamiento de información. Sin embargo, existen lenguajes puramente procedimentales que pueden emplear TDA para definir nuevos tipos de datos con un nivel de abstracción superior al nivel de abstracción de una acción nominada, con funcionalidad única y operaciones que trabajan sobre el tipo de datos definido. En la mayoría de los lenguajes los TDA representan librerías definidas por el usuario, fomentando la creación y ampliación del repertorio de librerías que ofrece el lenguaje de programación en cuestión. En el paradigma orientado a objetos los TDA son vistos como clases, pero al final en el paradigma que se implementen semánticamente tienen el mismo concepto: un conjunto de datos con operaciones definidas. Un TDA se define en base a su especificación algebraica y operacional. Se debe especificar el invariante, que es el modelo que refleja la estructura del dato a definir, pero sin comprometerla con detalles de implementación, es decir no se pueden usar estructuras ni del pseudoformal ni de ningún otro lenguaje, recordando que la especificación de un TDA es una especificación matemática.