elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  TAD - Tipos de datos Abstractos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: TAD - Tipos de datos Abstractos  (Leído 4,890 veces)
LadyWin

Desconectado Desconectado

Mensajes: 17


Ver Perfil
TAD - Tipos de datos Abstractos
« en: 12 Octubre 2021, 18:01 pm »

Buenos días gente, como están? Tengo dos dudas en este tema:
 
1) Como podría ser la mejor manera de saber cuales serian las funcionalidades publicas correctas para que pueda utilizar el usuario? por ejemplo, tengo un TAD de listas, en ella estarían las operaciones comunes como agregar al final, mostrar, eliminar, etc y tengo una funcionalidad que se llamaría crear donde crearía un nodo que la utilizaría dentro de la funcionalidad agregar al final, esta operación de crear seria una funcionalidad para que también la pueda usar el usuario? Esta duda me surge porque al modularizar una operación no se si esas funcionalidades serian publicas también, o debo dejarlas como privadas, tendría utilidad para el usuario crear un nodo sin el dato?

2) Si tengo un TAD de listas, las funcionalidades se verían comprometidas dependiendo de la estructura que utilice para almacenar los datos no?, aunque en una lista con enlace o un vector se puedan ver como listas (verlo abstractamente) no creo que se puedan reutilizar las funcionalidades con una estructura de datos de tipo, por ejemplo lista enlazada con la de un vector, mi duda surge porque se dice que el usuario no debe conocer que estructura de datos se utiliza, y si es un vector, las funcionalidades deberían recibir, además del vector, también una posición y en esa situación el usuario estaría sabiendo la estructura que se esta utilizando en la implementación del TAD

Disculpa si fui muy extensa pero quería hacerme entender, si me pueden ayudar estaría agradecida, saludos! :laugh:


En línea

Locura_23

Desconectado Desconectado

Mensajes: 162



Ver Perfil
Re: TAD - Tipos de datos Abstractos
« Respuesta #1 en: 12 Octubre 2021, 19:51 pm »

Hola @LadyWin, bueno estas cuestiones de diseño muchas veces varian pero

1) pienso que el cliente solo necesitaria las funciones (o metodos) basicas de la lista tal como mencionaste insertar, mostrar, eliminar, buscar... Todas las funciones que sean intrinsecas a la forma en que las funciones hacen esas tareas deberian estar ocultas.
El usuario deberia ingresar el dato que quiere guardar, y en todo caso una bandera de cómo quiere hacerlo, (principio, final o en orden). Esto se podria hacer con un subprograma.
La funcion de crear nodo no es necesaria que la sepa el usuario o tampoco la de buscar ultimo nodo (si decide insertar al final)...

2) efectivamente la forma interna en que trabajan cambia segun la estructura, por ejemplo: puedes implementar el TDA pila con una lista enlazada simple o lista enlazada doble. Sin embargo en ambos casos, el cliente solo quiere las funciones basicas, apilar, desapilar, mostrar, y una funcion predicado pilavacia tal vez...

Para mucha más información del tema, te recomiendo:

"Programación en C" de Luis Joyanes Aguilar, capitulo sobre TDA.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Valor y tipos de datos
Java
Erik# 0 2,060 Último mensaje 21 Septiembre 2008, 19:56 pm
por Erik#
Tipos de Datos en MySQL !!
Bases de Datos
Diabliyo 3 4,356 Último mensaje 30 Septiembre 2008, 22:10 pm
por Hans el Topo
Longitud de Tipos de Datos « 1 2 »
Bases de Datos
Skeletron 10 10,492 Último mensaje 14 Marzo 2010, 21:23 pm
por ^Tifa^
Base de datos Access No coinciden los tipos de datos
Dudas Generales
eva87 4 7,420 Último mensaje 1 Noviembre 2011, 00:09 am
por Pablo Videla
Tipos Abstractos de Datos
Programación C/C++
shadownando 1 1,487 Último mensaje 4 Marzo 2017, 14:01 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines