数据结构第一章疑问处:基本概念解析

数据 – 程序的操作对象,用于描述客观事物
数据的特点:
可以输入到计算机
可以被计算机程序处理
数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型。如:int,float,char等等,以Java为例,还提供了String、List等引用数据类型,而当程序语言提供的这些类型满足不了我们的工作、业务等描述客观事物的需求,我们也可以自定义Class,而自定义Class其实就是在创建一种数据类型。

数据对象:性质相同的数据元素的集合(类似于数组一般)

数据元素:组成数据对象的基本单位,每个数据元素是数据类型的一个实例,如int a = 1; String str = "wcc";当然也可以假如有个自定义的Student类,Student stu = new Student();这里a,str,stu均是一个元素,是int、String、Student的一个实例。当我们用数组或者用集合将这些实例装在一起,例如ArrayList stuLIst = new ArrayList<>();这时这个stuLIst就可以看作是一个数据对象。数据对象是一些列元素的集合。

数据项:一个数据元素可以由若干数据项组成

数据结构之抽象数据类型(Abstract Data Type 简称ADT),这个又是什么呐?

所谓抽象数据类型(Abstract Data Type,ADT)是指这样一种数据类型,它不再单纯是一组值的集合,还包括作用在值集上的操作的集合,即在构造数据类型的基础上增加了对数据的操作,且类型的表示细节及操作的实现细节对外是不可见得。之所以说它是抽象的,是因为外部只知道它做什么,而不知道它如何做,更不知道数据的内部表示细节。这样,即使改变数据的表示和操作的实现,也不会影响程序的其他部分。抽象数据类型可达到更好的信息隐藏效果,因为它使程序不依赖于数据结构的具体实现方法,只要提供相同的操作,换用其他方法实现时,程序无需修改,这个特征对于系统的维护很有利。
可能看了上面还是有些疑惑,我的理解是,抽象数据类型是对数据对象、数据元素、数据项以及对它们的各种操作的一个统一整合,而这个抽象数据类型本身也是Java中的一个Class类型,也就是它也是一种数据类型,只是更复杂,相当于统领的小兵更多了。

我这里拿个代码举例,帮助理解:

posted @ 2020-12-17 16:00  皮卡丘和羊宝贝😄  阅读(83)  评论(0编辑  收藏  举报