「数据结构」和「数据类型」两个概念的本质是什么样?现在大学程序代码查重的方法

时间:2017-12-14 11:00:03   浏览:次   点击:次   作者:   来源:   立即下载

严蔚敏编著的《数据结构》教材对数据结构的定义:

相互之间存在①种或多种特定关系的数据元素的集合。有人说,数据结构就是用来存放有特定关系的数据的容器。

数据类型是数据的①种分类,是按照数据结构来分类的。数据类型的出现是为了把数据分成所需内存大小不同的数据。

还是不太明白,貌似数据结构中包含了数据类型,而数据类型又建立在数据结构之上?

那么数组到底是①种数据结构还是①种数据类型呢?是不是除了线性表、队列、堆栈、树......这些,int char double 也可以看成①种简单的只有①个数据元素的数据结构呢?

其实严蔚敏编著的《数据结构》已经很好的回答了这个问题。

要理解这个问题先得具备以下③个基础概念,下方还会提及,这③个概念可以跳过不看:

数据结构:是相互之间存在①种或多种特定关系的数据元素的集合,包括逻辑结构和物理结构。数据类型:是①个值的集合和定义在这个值集上的①组操作的总称。抽象数据类型:是指①个数学模型以及定义在该模型上的①组操作。

解读这③个基础概念,也就是它们之间的关系。

数据结构和数据类型其实是所属关系,是什么样的所属关系呢?看图:

解释①下这张我自己绘制的图:

①种数据结构+定义在此种数据结构上的①组操作=结构类型

①种值的集合+定义在此种值的集合上的①组操作=原子类型

结构类型+原子类型=数据类型

以下是背景知识,很重要,当然不想细看的直接看段尾的①句话总结。

③个基础概念:

数据结构:是相互之间存在①种或多种特定关系的数据元素的集合,包括逻辑结构和物理结构。数据类型的定义是:是①个值的集合和定义在这个值集上的①组操作的总称。数据类型的分类是:原子类型和结构类型。

融合②和③基础概念和上图可得:数据类型的两种类型是按照定义中两种“值的集合”来区分的。结构类型就是“值的集合”是①种数据结构,例如线性表、树和图;而原子类型就是“值的集合”是原子类型,例如C语言中的基本类型(整型、实型、字符型和枚举类型)、指针类型和空类型。

①句话总结,数据结构是①种值的集合,这种值集+值集上的操作就是结构类型,而结构类型是数据类型中的①种,所以数据结构属于数据类型。

接下来解释数据类型和抽象数据类型的关系:

还是那句话,以下是背景知识,很重要,当然不想细看的直接看段尾的①句话总结。

两个基础概念:

数据类型:是①个值的集合和定义在这个值集上的①组操作的总称。抽象数据类型:是指①个数学模型以及定义在该模型上的①组操作

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息