Diferencia entre revisiones de «Tipo de Dato Abstracto»

Línea 6: Línea 6:
 
|principales exponentes=
 
|principales exponentes=
 
}}<div align="justify">  
 
}}<div align="justify">  
'''Tipo de Dato Abstracto''' (TDA).  Es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de [[datos]] para el modelo.
+
'''Tipo de Dato Abstracto''' (''TDA'').  Es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de [[datos]] para el modelo.
  
 
 
==Caracterización==
 
==Caracterización==
 
Un TDA se caracteriza por:  
 
Un TDA se caracteriza por:  
Línea 16: Línea 15:
 
   
 
   
 
===Ejemplos===
 
===Ejemplos===
 
 
*'''TDA:''' entero es.
 
*'''TDA:''' entero es.
 
 
*'''Datos:''' una secuencia de dígitos que ocasionalmente presentan como [[prefijo]] un [[signo]] más(+)o menos(–). A esta secuencia le damos el nombre de n.
 
*'''Datos:''' una secuencia de dígitos que ocasionalmente presentan como [[prefijo]] un [[signo]] más(+)o menos(–). A esta secuencia le damos el nombre de n.
  
=== Operaciones ===
+
==Operaciones==
  
'''Suma''' (Entero K)
+
*'''Suma''' (entero K): crea un nuevo entero resultado de la [[suma]] de n y k.
Crea un nuevo entero resultado de la suma de n y k
+
*'''Resta''' (entero K): crea un nuevo entero resultado de la [[resta]] de n y k.
 
+
*'''Multiplicar'''(entero K): crea un nuevo entero resultado de la [[multiplicación]] n y k.
'''Resta''' (Entero K)
+
*'''Dividir'''(entero K): crea un nuevo entero resultado de la [[división]] n y k.
Crea un nuevo entero resultado de la resta de n y k
+
*'''Resto'''(entero K): crea un nuevo entero, el [[sustracción|resto]] la división de n y k.
 
+
*'''Obtener''': devuelve a n.
'''Multiplicar'''(Entero K)
+
*'''Poner'''(entero K): pone en n el valor de k.
Crea un nuevo entero resultado de la multiplicación n y k
 
 
 
'''Dividir'''(Entero K)
 
Crea un nuevo entero resultado de la división n y k
 
 
 
'''Resto'''(Entero K)
 
Crea un nuevo entero, el resto la división de n y k
 
 
 
'''Obtener''' ( )
 
Devuelve a n
 
 
 
'''Poner'''(Entero K)
 
Pone en n el valor de k
 
 
 
=== TDA Lista ===
 
  
 +
==Lista TDA==
 
Una lista se define como una n-tupla de elementos (donde li es el i-ésímo elemento de la lista) ordenados de forma consecutiva, o sea, el elemento li le precede al elemento li+1.
 
Una lista se define como una n-tupla de elementos (donde li es el i-ésímo elemento de la lista) ordenados de forma consecutiva, o sea, el elemento li le precede al elemento li+1.
 
+
*L= ( l1, l2, … , ln ).  
L= ( l1, l2, … , ln ).  
 
 
 
 
El valor de i representa la posición del elemento en la lista. Si la lista contiene 0 elementos se denomina lista vacía.
 
El valor de i representa la posición del elemento en la lista. Si la lista contiene 0 elementos se denomina lista vacía.
  
 
+
===TDA Lista es===
'''TDA Lista es'''
+
*'''Datos''': una colección ordenada de elementos del mismo tipo. La llamaremos: 1
 
+
*'''Operaciones'''
'''Datos'''
+
*'''Constructor''': crea una nueva lista, la crea vacía.
 
+
*'''Insertar(Tipo x, Entero i)''': insertar un nuevo elemento x, en la posición i de la lista.
Una colección ordenada de elementos del mismo tipo. La llamaremos: 1
+
*'''Adicionar (Tipo x)''': adiciona un elemento al final de la lista.
 
+
*'''Tipo Obtener (Entero i)''': devuelve el elemento que está en la posición 1 de la lista.
'''Operaciones'''
+
*'''Eliminar (Entero i)''': elimina el elemento que está en la posición 1 de la lista. Los elementos posteriores a partir de la posición i+1 pasan a tener la posición anterior inmediata es decir 1
 
+
*'''Entero Longitud''': devuelve la cantidad de elementos de la lista. Si la lista es vacía devuelve el valor cero.
'''Constructor'''
+
*'''Lógico vacía''': devuelve un valor lógico verdadero si la lista tiene longitud cero, falso en caso contrario.
Crea una nueva lista, la crea vacía.
 
 
 
'''Insertar(Tipo x, Entero i)'''
 
Insertar un nuevo elemento x, en la posición i de la lista  
 
 
 
'''Adicionar (Tipo x)'''
 
Adiciona un elemento al final de la lista
 
 
 
'''Tipo Obtener (Entero i)'''
 
Devuelve el elemento que está en la posición 1 de la lista.
 
 
 
'''Eliminar (Entero i)'''
 
Elimina el elemento que está en la posición 1 de la lista. Los elementos posteriores a partir de la posición i+1 pasan a tener la posición anterior inmediata es decir 1
 
 
 
'''Entero Longitud ( )'''
 
Devuelve la cantidad de elementos de la lista. Si la lista es vacía devuelve el valor cero
 
 
 
'''Lógico vacía ( )'''
 
Devuelve un valor lógico verdadero si la lista tiene longitud cero, falso en caso contrario.
 
 
 
  
 
== Fuentes ==
 
== Fuentes ==
 +
*Fundamentals of Data Structures in C++. E. Horowitz, S. Sanhi, D. Mchta. Computer Science Press, 1995.
 +
*Data structures and algorithms. Aho .et al.   
  
#Fundamentals of Data Structures in C++. E. Horowitz, S. Sanhi, D. Mchta. Computer Science Press, 1995.
+
[[Category:Ciencias_informáticas]]
#Data structures and algorithms. Aho .et al.   
 
 
 
 
 
[[Category:Ciencias_informáticas]]  
 
</div>
 

Revisión del 14:13 21 may 2013

Tipo de dato abstracto
Información sobre la plantilla

Tipo de Dato Abstracto (TDA). Es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo.

Caracterización

Un TDA se caracteriza por:

  1. Exportar un tipo (una clase lo es)
  2. Definir un conjunto de operaciones para la manipulación (la interfase, el conjunto de métodos tanto públicos como protegidos que pueden ser utilizados).
  3. Utilizar la interfase como único mecanismo de acceso a la estructura de datos (encapsular, esconder el cómo).

Ejemplos

  • TDA: entero es.
  • Datos: una secuencia de dígitos que ocasionalmente presentan como prefijo un signo más(+)o menos(–). A esta secuencia le damos el nombre de n.

Operaciones

  • Suma (entero K): crea un nuevo entero resultado de la suma de n y k.
  • Resta (entero K): crea un nuevo entero resultado de la resta de n y k.
  • Multiplicar(entero K): crea un nuevo entero resultado de la multiplicación n y k.
  • Dividir(entero K): crea un nuevo entero resultado de la división n y k.
  • Resto(entero K): crea un nuevo entero, el resto la división de n y k.
  • Obtener: devuelve a n.
  • Poner(entero K): pone en n el valor de k.

Lista TDA

Una lista se define como una n-tupla de elementos (donde li es el i-ésímo elemento de la lista) ordenados de forma consecutiva, o sea, el elemento li le precede al elemento li+1.

  • L= ( l1, l2, … , ln ).

El valor de i representa la posición del elemento en la lista. Si la lista contiene 0 elementos se denomina lista vacía.

TDA Lista es

  • Datos: una colección ordenada de elementos del mismo tipo. La llamaremos: 1
  • Operaciones
  • Constructor: crea una nueva lista, la crea vacía.
  • Insertar(Tipo x, Entero i): insertar un nuevo elemento x, en la posición i de la lista.
  • Adicionar (Tipo x): adiciona un elemento al final de la lista.
  • Tipo Obtener (Entero i): devuelve el elemento que está en la posición 1 de la lista.
  • Eliminar (Entero i): elimina el elemento que está en la posición 1 de la lista. Los elementos posteriores a partir de la posición i+1 pasan a tener la posición anterior inmediata es decir 1
  • Entero Longitud: devuelve la cantidad de elementos de la lista. Si la lista es vacía devuelve el valor cero.
  • Lógico vacía: devuelve un valor lógico verdadero si la lista tiene longitud cero, falso en caso contrario.

Fuentes

  • Fundamentals of Data Structures in C++. E. Horowitz, S. Sanhi, D. Mchta. Computer Science Press, 1995.
  • Data structures and algorithms. Aho .et al.