一、数据结构1、Java数组介绍课 已买,需要点击头像看个人介绍
1、定义
数据结构是计算机存储、组织数据的方式。在现实世界中,不同数据元素之间不是独立的,而是存在特定关系的,我们将这些关系称为结构。同样在计算机中,数据元素也不是孤立、杂乱无序的,而是具有内在联系的数据集合。
数据元素之间存在的一种或多种特定关系,也就是数据的组织形式,叫数据结构。也可以说,数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。程序设计的实质就是数据结构和算法是设计,因此我们说程序设计 = 数据结构 + 算法。
2、关于数据结构的几个术语
数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。它不仅包括整型等数值类型,还包括字符、声音、图像等非数值类型。这些类型都具备两个特征:
可以输入计算机
能被计算机程序处理
数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。
数据项:一个数据元素可以由若干个数据项组成。数据项是A数据的不可分割的最小单位。。
数据对象:是性质相同的数据元素的集合,是数据的子集。
例如:一本书的书目信息为一个数据元素,而书目信息的每一项(如书名、作者名等)为一个数据项。
3、逻辑结构与物理结构
按照不同的角度,数据结构可分为逻辑结构和物理结构。其中逻辑结构是面向问题的,而物理结构是面向计算机的,它们的基本目标都是将数据及其逻辑关系存储到计算机内存中。
逻辑结构:是指数据对象中数据元素之间的相互关系。分为四种:集合结构、线性结构、树形结构和图形结构。
物理(存储)结构:是指数据的逻辑结构在计算机中的存储形式。数据的存储结构应正确反映数据元素之间的逻辑关系,这是关键。数据元素的存储结构可分为两种:顺序存储结构和链式存储结构。
顺序存储结构:把数据元素放在地址连续的存储单元中,数据间的逻辑关系和物理关系一致。如,数组。
链式存储结构:把数据元素放在任意的存储单元中,数据间使用指针关联。数据元素的存储关系不能反映其逻辑关系。如,链表。
二、抽象数据类型
数据类型是指一组性质相同的值的集合及定义在该集合上的一些操作的总称。而抽象是指抽象出事物具有的普遍性的本质,它是抽出问题的特征而忽略非本质的细节,是对具体事物的一个概括。抽象隐藏了繁杂的细节,只保留实现目标所必须的信息。因此抽象数据类型可以定义为:
抽象数据类型(Abstract Data Type,ADT)是指一个数学模型及定义在该模型上的一组操作,它是一种向用例隐藏内部表示的数据类型。
面向对象编程的特征之一就是使用数据类型的实现封装数据,以简化实现、隔离用例开发、实现模块化编程。抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。它将实际生活中的问题分解为多个规模小、能够独立开发和调试的小型模块,然后进行独立编程。这种方式将代码的影响限制在局部区域,改进了我们的软件质量,促进了代码复用。抽象数据类型抽象的层次越高,那么可复用性也越强。比如:java中的Object是对所有对象的抽象。