Un tipo de datos abstractos (ADT) es una especificación para una determinada clase de estructuras de datos que tienen un comportamiento similar; o para ciertos tipos de datos de uno o más lenguajes de programación que tienen una semántica similar. Un tipo de datos abstractos se define indirectamente, solo por las operaciones que se pueden realizar en él y por restricciones matemáticas sobre los efectos de esas operaciones.

Más sobre abstract-data-type...

Aquí hay un ejemplo simple: trait Base { type Out def v: Out } object Base { type Aux[T] = Base { type Out = T } class ForH() extends Base { type Out = HNil override def v: Out = HNil } object ForH extends ForH } class TypeClass[B] trait TypeC....
Tengo un tipo abstracto, con subtipos. Me gustaría hacer y agregar un Dict que contenga los subtipos. ¿Es esto factible? ¿Cuál es la mejor manera de lograrlo? Ejemplo: abstract type Cat end struct Lion <: Cat manecolour end struct Tiger <: Cat stripewidth end cats = Dict{Int, <:Cat}() Da E....
27 ago. 2020 a las 15:21
Quiero que los objetos interactúen con interacciones específicas según su tipo. Problema de ejemplo: tengo cuatro partículas, dos son de tipo A y 2 son de tipo B. cuando los de tipo A interactúan, quiero usar la función function interaction(parm1, parm2) return parm1 + parm2 end Cuando el tipo ....
7 ago. 2020 a las 03:59
Si tengo este tipo de datos SML datatype json = Num of real | String of string | False | True | Null | Array of json list | Object of (string * json) list Digamos que tengo este Array con solo un Object que lo convierte en una lista json Array[Obje....
10 abr. 2020 a las 08:49
Tengo una pregunta que me confunde. Sé cuál es la plantilla y el objetivo, pero tengo algunos puntos en blanco sobre el uso. Tengo una clase de plantilla como esa: template <class elemType> class SSorting { public: int seqSearch(const elemType list[], int length, const elemType& item); }; Cuando c....
Tengo un programa para una clase de introducción de CS y es el primero que escribo usando clases. Estoy tratando de descubrir cómo tomar la entrada del usuario de un archivo en este momento y nada parece estar funcionando. Intenté usar getline () y, por supuesto, dentro del campo >> pero no pude hac....
27 nov. 2019 a las 06:44
Completamente nuevo en programación, estaba haciendo un proyecto y estoy confundido sobre cómo puedo hacer que funcione. por favor, ayúdame boolean answer1 = true; for (int i=0;i<q.questionbank.length;++i) { q.Question = input(q.questionbank[i]); while(answer1 == t....
11 nov. 2019 a las 23:16
Recientemente me transferí a un programa diferente de escuela y cs. El lenguaje utilizado es C en comparación con Java, que se enseñó en mi escuela anterior. Uno de mis principales problemas que puede ser el resultado de no escribir suficiente código C es que tengo problemas para encontrar un estánd....
8 ago. 2019 a las 18:38
Por lo general, cuando creamos una nueva estructura, con la palabra clave 'struct' en C, que podemos estar usando en otros archivos que no sean el archivo fuente, usamos la palabra clave 'typedef' para definir un puntero a la estructura; typedef struct struct_name* StructName; // for exmaple ¿Por q....
22 jul. 2019 a las 14:38
Creé un tipo de datos abstractos para vectores en el espacio métrico, pero el compilador se queja porque no reconoce que la implementación como argumento es de este tipo. trait MetricPoint { fn square_distance(&self, other: &MetricPoint) -> f64; } struct RNPoint { coordinates: Vec<f64>, } ....
8 jul. 2019 a las 12:42
Cuando agrego un elemento a mi Deque e inmediatamente trato de verificarlo, devuelve nulo. Me he asegurado de que el elemento que entra no sea nulo. Cual es el problema aqui: Ya intenté verificar que los métodos se estén ejecutando, el método add se ejecuta en la DLL y en Deque. También probé queueT....
9 abr. 2019 a las 12:29
Los sindicatos discriminados se utilizan normalmente como contenedores de datos y brindan información sobre lo que tienen, pero ocasionalmente me encuentro con la necesidad de evitar la creación de un sindicato discriminado, pero aún así poder hacer coincidir patrones con una sintaxis familiar. Por ....
Tengo una pregunta para los desarrolladores de OOP más avanzados aquí. Actualmente soy un estudiante de informática. Aprendimos Programación procedimental en Java el primer semestre donde se introdujo ADT. Entiendo la teoría y la idea de por qué ADT es bueno y cuáles son sus beneficios, pero me pare....
28 dic. 2018 a las 13:38
He leído mucho sobre tipos de datos abstractos (ADT) y me pregunto si hay tipos de datos no abstractos / concretos. Ya hay una pregunta en SO sobre ADT, pero esta pregunta no cubre los tipos de datos "no abstractos". La definición de ADT solo menciona qué operaciones se realizarán pero no cómo se im....
7 oct. 2018 a las 16:56
Estoy escribiendo un programa para la clase que ingresa al usuario en un bucle infinito y acepta tres comandos diferentes (agregar x, eliminar x, existe x) + un valor entero. Cuando el usuario ingresa "existe x", el programa debe devolver un resultado booleano que indique si el valor existe en la li....
¿Alguien sabe una manera simple de convertir la lista dada al formato deseado? Dada: ['[[2.1, 3.7], [5.5, -1.3]]'] Formato deseado: [[2.1, 3.7], [5.5, -1.3]] Gracias de antemano....
17 nov. 2017 a las 05:04
¿Hay alguna forma de que pueda usar la estructura C en R, o alguna alternativa? Lo que estoy buscando es un tipo de datos que pueda manejar diferentes tipos de datos y otorgar acceso de una manera comprensible. Las listas R ya hacen esto, pero el acceso al contenido es por índices [[ ]]. Parece comp....
6 nov. 2017 a las 00:52
Este documento dice que std::list es ineficiente: std :: list es una clase extremadamente ineficiente que rara vez es útil. Realiza una asignación de montón para cada elemento insertado en él, por lo que tiene un factor constante extremadamente alto, particularmente para tipos de datos pequeños. Com....
Soy un principiante en Scala y estaba jugando para aprender más sobre los tipos de datos abstractos. Definí la siguiente definición para replicar el tipo de opción: sealed abstract class Maybe[+A](x:A) case object Nothing extends Maybe[Nothing](Nothing) case class Just[A](x:A) extends Maybe[A](x) P....
class Queue: def __init__(self): self._contents = [] def enqueue(self, obj): self._contents.append(obj) def dequeue(self): return self._contents.pop(0) def is_empty(self): return self._contents == [] class remove_2nd(Queue): def dequeue(self)....
29 may. 2017 a las 08:35
Estoy tratando de hacer una lista vinculada que esencialmente contenga una cadena (en lugar de una matriz de caracteres). Sigo recibiendo errores de segmentación (núcleo volcado) y no estoy seguro de dónde / cómo estoy asignando la memoria incorrectamente #include <stdio.h> #include <stdlib.h> #incl....
13 abr. 2017 a las 21:39
Considere un Arraylist. Internamente no está lleno, y se conoce el número de elementos insertados hasta ahora. Los elementos no están ordenados. Elija las operaciones enumeradas a continuación que sean rápidas, independientemente de la cantidad de elementos contenidos en la ArrayList. (En otras pala....
Soy un Python / programación newb, y soy un Python de autoaprendizaje. Lamentablemente estoy realmente atascado! Estoy en el capítulo 19 de "Cómo pensar como un informático". El objetivo aquí es escribir una implementación de un ADT de cola prioritaria, utilizando una lista vinculada. Recibo un erro....
Tengo dos clases que heredan de una sola clase abstracta. Las dos clases dictan qué tipo de AbstractList usar, ya sea ArrayList o LinkedList. public class ArrayListMergeSort extends MergeSortData { public ArrayListMergeSort() { super(); data= new ArrayList<String>(); } } Me preguntab....
En JavaScript, puede colocar una variable o un objeto en una matriz de varias maneras: array.push(item) array[2] = item; array[somevariable] = item El último del ejemplo anterior es lo que me molesta Digamos, por ejemplo, que tengo la siguiente variable var somevariable = 'someString'; Podría coloc....
27 mar. 2016 a las 00:54