Skip to content
EntityQ1322511· pop 14· linked from 163 articles

tipo de dato algebraico

Sign in to save

Also known as ADT

en ciencias de la computación, un tipo formado por la combinación de otros tipos

Wikidata facts

Subclass of
data type
Show 2 more facts
studied by
type theory
different from
abstract data type
Sources (1)

via Wikidata · CC0

Article · Español

En matemáticas discretas es usual introducir definiciones de estructuras recursivas dando los casos de definición y un axioma de clausura indicando que ninguna otra cosa forma parte de lo definido. Por ejemplo, los árboles con información en los nodos pueden definirse como sigue: Sea T un conjunto. Los árboles con información en los nodos son todos los valores que se pueden construir con las reglas siguientes. 1. * El árbol vacío es un árbol y es representado con la constante AVacio. 2. * Si y son árboles, y x es un elemento de T, entonces Nodo es un árbol. 3. * Los árboles son únicamente los valores que se construyen utilizando las reglas 1 y 2. La construcción correspondiente en los lenguajes de programación se llama Tipo de dato abstracto Sus polimórficas fueron introducidas por Robin Milner junto con la definición del lenguaje y han sido adoptadas desde entonces en diversos lenguajes de programación, sobre todo en los lenguajes de programación funcionales. Por ejemplo, la definición del tipo árbol binario con información en los nodos de tipo T se escribe en como sigue: type 'T Arbol = AVacio | Nodo of ('T Arbol * 'T * 'T Arbol) y en sintaxis de Haskell (con información en los nodos de tipo t): data Arbol t = AVacio | Nodo (Arbol t) t (Arbol t) Los constructores del tipo Árbol son AVacio y Nodo los cuales,al recibir los argumentos necesarios producen un valor del tipoárbol. Por ejemplo, en Ocaml, AVacio es un árbol al igual que Nodo (AVacio,5,AVacio). Las operaciones sobre los tipos recursivos generalmente se escribenutilizando la construcción de . Por ejemplo,en Haskell, el número de niveles de un árbol se define como: niveles :: Arbol t -> Int niveles AVacio = 0 niveles (Nodo i n d) = 1 + max (niveles i) (niveles d) en Standard ML la misma función se escribe fun niveles AVacio = 0 | niveles Nodo(i,n,d) = 1 + max (niveles i) (niveles d)

Abstract from DBpedia / Wikipedia · CC BY-SA