在前面的文章中提到过,一个完整的程序包含了算法和数据结构。我们通俗的说所谓的算法就是通过逻辑结构(分支结构、循环结构)解决问题的流程;数据结构就是把数据按照某种特定的结构来保存(数组这一常用的数据结构)。那么今天的文章开始,我们将详细的把数据结构的知识点介绍一遍。
什么是数据结构
关于什么是数据结构,我们先看一下如下三个实例,通过具体的实例,我们让我们更加直观的认识什么是数据结构。
例1:已知游泳池的长len宽wide,求area。通过已知条件我们不难发现,这是一个数值问题,我们首先给他建模型,问题涉及的对象:长len宽wide,面积area,他们之间的关系:area=len*wide,我们根据这三个对象的问题设计求解问题的方法。
例2:已知某班级学生情况,要求按入学成绩排序(表一)
在这类非数值类文档管理的数学模型中,计算机处理的对象之间通常存在着一种最简单的线性关系,这类数学模型称之为线性模型。
例3:城市间交通网问题(图一):这种数学模型是一种成为“图”的数据结构。
综上所述,概括的说:数据结构是一门研究非数值计算的程序设计中,计算机的操作对象以及它们之间的关系和操作的学科。
在了解了什么是数据结构后,我们分别介绍一下数据结构学科中的三个基本概念:
数据与数据结构
所谓数据是指所有能够被输入到计算机中,并且能被计算机处理的符号的集合,是计算机操作对象的总称。是计算机处理的信息的某种特定符号表示形式。比如:一个数、一个字符串、图像、声音等。
数据元素是数据的基本单位,数据(集合)中的一个“个体”,是数据结构中讨论的基本单位,计算机程序通常将其作为一个整体进行处理。数据项是数据结构中讨论的最小单位,数据元素可以是数据项的集合。数据相同数据元素的集合我们称之为数据对象。
那么在这里,我们可以对数据结构做一个简单的解释:数据结构是相互间存在一种或多种特定关系的数据元素的集合,我们又称之为数据的“逻辑结构”。
数据的逻辑结构我们可以分为四类:线性结构,树形结构,图状结构,集合结构
数据结构的形式定义:
我们把数据结构的形式定义为:数据结构是一个二元组,Data_Structures=(D,S)。其中D是数据元素的有限集,S是D上关系的有限集。
例:在计算机学科中,复数可以如下定义:
复数是一种数据结构,Complex=(C,R)
其中C是两个实数的集合,R=,P是关系{},其中表示复数的实部、虚部
这种数据结构的定义是对操作对象的数学描述,是抽象出来的数学模型。结构定义中的关系是数据元素之间的逻辑关系,因此,这样定义的结构称之为“逻辑结构”。但是,我们研究数据结构的目的是为了在计算机中实现对它的操作,因此需要研究如何在计算机中表示这种逻辑结构。我们在下一篇文章中将介绍:数据的存储结构。
知识无限,小编在文章编辑过程中难免出现不尽人意的地方,欢迎大家批评指正,小编也将不断积累完善自己,让我们共同进步
领取专属 10元无门槛券
私享最新 技术干货