数据结构与数据类型有什么区别
数据结构与数据类型的区别有:数据类型强调数据取值范围,数据类型的运算以算术运算,逻辑运算为主;而数据结构的运算是数据的增删改查。虽然两者在概念的定义上都提到了运算,但是两者的运算还是有区别的。这就是数据结构与数据类型的区别。
一、区别
从两者的定义上就可以看出两者的区别。虽然两者在概念的定义上都提到了运算,但是两者的运算还是有区别的。
数据类型主要强调了数据的取值范围,即该类型包含的所有字面量的值。如布尔类型,取值范围为false、true(布尔类型的字面量只有false和true)。数据类型的运算主要是算数运算、逻辑运算等。
而数据结构运算主要是对数据的增删改查等。
可以这样理解,我们使用C语言实现学生信息管理系统,每个学生的信息使用结构体进行存储。把若干学生的信息使用顺序表(一种数据结构)存储进计算机,我们想要修改某个学生的学分(学分为int类型),首先通过学生的学号检索(数据结构定义的运算)出改学生结构体,然后修改学生结构体的学分字段,进行加法运算(数据类型int定义的运算)。
二、什么是数据结构
数据结构是相互之间存在一种或多种特定关系的数据元素的集合,简单的说是计算机中存储、组织数据的方式。其包括逻辑结构和物理结构。
存储结构是指数据结构在计算机中的表示(又称映像),也称物理结构。它包括数据元素的表示和关系的表示。数据的存储结构是逻辑结构用计算机语言的实现,它依赖于计算机语言。数据的存储结构主要有:顺序存储、链式存储、索引存储和散列存储。注意具体的实现存储的时候,可以选择在内存里面开辟连续内存空间或者不连续的内存空间来进行存储。当然也可以混搭组成更复杂的存储方式。
三、什么是数据类型
数据类型是一个值的集合和定义在此集合上一组操作(通常是增删改查或者操作读写的方法)的总称。
其中数据类型,总的来说又分:
原子类型:比如编程语言的int,double,char,byte,boolean。
复合类型:又称结构类型,通过原子类型封装的更复杂的类型,比如面向对象语言里面的类。
另外还有一种更高层级的类型称为抽象数据类型:是指抽象数据组织和与之相关的操作。 抽象数据类型(ADT)是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。即无论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。“抽象”的意义在于数据类型的数学抽象特性。
即无论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。”抽象“的意义在于数据类型的数学抽象特性。