Al tratar de responder What is the difference between a composite data type and a data structure? me di cuenta de que, si bien tengo una idea clara de qué tipo de datos es es, y cómo no es lo mismo que una estructura de datos , no puedo poner la diferencia en palabras. Si estuvieras enseñando un curso introductorio de CS, ¿cómo explicarías la diferencia?Explique la diferencia entre una estructura * de datos * y una * tipo de datos *
Respuesta
A datos estructura es una descripción abstracta de una forma de organizar datos para permitir que se realicen ciertas operaciones en él de manera eficiente. Por ejemplo, un árbol binario es una estructura de datos, como un montón de Fibonacci, un árbol AVL o una lista de skiplist. Los teóricos describen estructuras de datos y prueban sus propiedades para mostrar que ciertos algoritmos o problemas se pueden resolver de manera eficiente bajo ciertas suposiciones.
Un dato tipo es una clase (potencialmente infinita) de objetos concretos que todos comparten alguna propiedad. Por ejemplo, "entero" es un tipo de datos que contiene todos los enteros infinitos, "cadena" es un tipo de datos que contiene todas las cadenas infinitamente numerosas, y "entero de 32 bits" es un tipo de datos que contiene todos los enteros expresables en treinta -dos bits No hay ningún requisito de que un tipo de datos sea una primitiva en un idioma - por ejemplo, en C++, el tipo int
es un primitivo, como es ésta:
struct MyStruct {
int x, y;
};
En este caso, MyStruct
es un tipo de datos que representa todos los objetos posibles etiquetados MyStruct
que tienen dos int
s en ellos etiquetados x
y y
.
Es posible tener un tipo de datos que represente todas las instancias posibles de una estructura de datos. Por ejemplo, se podría codificar un árbol binario de búsqueda con este tipo de datos:
struct BST {
int data;
BST* left, *right;
};
En definitiva, un estructura de datos es un objeto matemático con un conjunto de propiedades que se puede realizar de muchas formas diferentes como datos tipos. Un dato tipo es solo una clase de valores que se pueden construir y representar de manera concreta.
Señor, no entiendo cuál es la diferencia entre el tipo de datos abstractos y el tipo de datos. –
tipo de datos es cualquier tipo, incluidos los tipos básicos como int, pero también se extiende a las estructuras. las estructuras siempre se componen de tipos de base y/u otras estructuras.
So int es un tipo de datos pero no una estructura. Mientras que struct point {int x; int y; } es a la vez una estructura y un tipo de datos.
Hay otro significado más común de la estructura de datos que la construcción del lenguaje C * struct * - vea la respuesta de templatetypedef a continuación. –
también podría ser una clase que es básicamente una estructura con métodos. ¿Y qué? – jun
El tipo de datos no se puede reducir más, mientras que una estructura de datos puede, ya que consta de múltiples campos de datos diferentes.
Sin embargo, lo más probable es que utilice una analogía: un tipo de datos es un átomo, mientras que las estructuras de datos son moléculas. (Sí, lo sé, los átomos se pueden dividir, etc., pero la analogía debe mantenerse para el propósito).
¡¡¡Genial !!! ¡¡¡Gracias!!! – beginner
- 1. ¿Cuál es la diferencia entre un "contenedor" y una "estructura de datos"?
- 2. Diferencia entre -> y. en una estructura?
- 3. Diferencia entre tipo de datos jsonp y JSON
- 4. ¿Cuál es la diferencia entre una base de datos basada en archivos y una base de datos basada en servidor?
- 5. ¿Cuál es la diferencia entre una base de datos y un depósito de datos?
- 6. ¿jQuery tiene una estructura de datos mutable de tipo hashtable?
- 7. ¿Cuál es la diferencia entre declarar y definir una estructura?
- 8. ¿Cuál es la diferencia entre un esquema y una tabla y una base de datos?
- 9. ¿Cuál es la diferencia entre tipo y tipo de datos en Haskell?
- 10. Una herramienta de diferencia de datos para encontrar la diferencia entre dos archivos MDB de acceso
- 11. ¿PHP tiene una estructura de datos establecida?
- 12. ¿Cómo mostrar la estructura de datos planos en una estructura de datos jerárquica (Java)?
- 13. ¿Tipo de datos de estructura en Mathematica?
- 14. ¿Estructura de datos para almacenar una gran cantidad de datos?
- 15. En una base de datos, ¿cuál es la diferencia entre una clave y un índice?
- 16. mysql diferencia de tipo de datos BLOB y TEXT
- 17. Diferencia entre ID y datos-dojo-id
- 18. ¿Estructura el tipo de datos en php?
- 19. Una estructura de datos 2D óptima
- 20. ¿Java tiene una estructura de datos "LinkedConcurrentHashMap"?
- 21. ¿hay alguna diferencia entre una estructura en C++ y una estructura en C#?
- 22. ¿Cuál es la diferencia entre los datos-dojotype y dojoType?
- 23. ¿Cómo leer datos de IO en la estructura de datos y luego procesar la estructura de datos?
- 24. ¿Hay alguna diferencia entre la integridad de los datos y la consistencia de los datos?
- 25. ¿Cuál es la diferencia entre el conjunto de datos y la base de datos?
- 26. Datos principales: Cómo diseñar una estructura de datos de árbol a partir de una entrada de datos central
- 27. Almacenar una estructura de directorio en la base de datos
- 28. Llenar una estructura jerárquica con la clase de datos
- 29. Jena/ARQ: Diferencia entre modelo, gráfico y conjunto de datos
- 30. ¿cuál es la diferencia entre el tipo de datos decimal y numérico en postgresql
A ** estructura de datos ** es un conjunto de datos considerado como una entidad (cosa). Un int, por ejemplo, es una variable simple, no se puede considerar como una estructura de datos, pero una matriz es una estructura de datos (una matriz es una variable compuesta). Un ** tipo de datos ** es un conjunto de datos y operaciones sobre ellos. La principal diferencia entre los dos es que las operaciones no están incluidas en el primer caso. Un ** tipo de datos abstracto ** es un modelo matemático de una estructura de datos y operaciones en ellos.En otras palabras, un ADT es una interfaz para lo que un DS es la implementación. –