Div*_*nsh 2 algorithm programming-languages abstract-data-type adt data-structures
我知道这个问题已被问了一百万次,但有人可以向我解释 ADT 究竟是什么意思(如果可能的话,用外行的话)?
我读了ADT 的这个定义- ADT 只提到要执行哪些操作,但没有提到这些操作将如何实现。原始数据类型也是如此。
假设我们有一个浮点数据类型,我们知道可以执行乘法、除法等操作(所以我们知道将执行哪些操作)但我们不知道它将如何执行(在乘法的情况下,我们可以只是相乘或重复相加,所以我们有两个过程给出相同的结果,因此它是抽象的)。所以这两种数据类型本质上是相同的。(我知道这是不正确的)。
我知道我弄错了。有人可以帮我清除这个概念吗?
数据类型是任何编程语言中的数据分类——例如整数、字符、浮点数等。
摘要 数据类型是一个理论概念。抽象数据类型 (ADT) 是数据类型的数学模型,其中从数据用户的角度来看,数据类型由其行为(语义)定义,特别是在可能的值、对数据的可能操作方面这种类型,以及这些操作的行为。一组独立于任何特定实现而精确指定的数据值和相关操作。抽象数据类型 (ADT) 是对数据集和可以对数据执行的操作集的规范。
例如:堆栈是一种抽象数据类型。堆栈 ADT 可以执行 push、pop、peek 操作。这三个操作定义了类型可以是什么,而与实现的语言无关。
所以我们可以说,原始数据类型是抽象数据类型的一种形式。只是它们是由语言制造商提供的,并且非常特定于语言。所以基本上有两种类型的数据类型原语和用户定义。但它们都是抽象数据类型。我希望这能说明问题。