目录

第一节:数据结构的研究对象

第二节:数据结构的发展概况

第三节:抽象数据型

第四节:算法及其复杂度

第五节:逐步求精的程序设计方法


今天来复习数据结构第一章:绪论。这一部分包含一些基本的概念和定义,相比于后边的内容简直是天堂难度,所以要稳扎稳打,打好基础!

第一节:数据结构的研究对象

    这部分内容的介绍,让我们大致明白什么是“数据结构”,这是基本思想。

嗯......我想,在开始这个问题之前,我们得先知道什么是数据。

数据就是我们能够输入到计算机里的那些东西,这个按照正常的理解走,完全没有问题。

那么数据是一模一样的呢,还是有所层次划分呢?这当然是事在人为。为了更透彻地研究数据,我们给数据这样的层次。

数据是由数据元素组成的,比如学生信息列表中一个学生的信息就是一个数据元素。数据元素是数据的基本单位。

数据元素是由一个或者多个数据项组成的,数据项是最小单位。比如一个学生的姓名,生日。

数据项分为原子型和组合型,原子不可分割但组合型可以,这个很好理解。姓名是原子型,生日包含年月日,是组合型。

同类数据元素的集合叫数据类型,而数据元素之间的关系叫做数据结构

如果我们拿一张四四方方的学生信息表,每一行是一个学生信息,比如甲乙丙丁,每一列是一种信息,比如班级姓名。那么数据类型就是竖着看,数据元素就是横着看。而这章描画了学生之间关系的表格,就是一种数据结构!因为是元素的关系而不是类型的关系,我们研究数据结构时,应该把一个学生的各种信息组成的“数据元素”确确实实地看做一个“元素”,这样的话,这张信息表其实就是从上往下线性分布的一种结构,也就是“线性表”!——这是经过一个学期的学习,我突然理解了的地方:针对这张表,数据结构不是竖着看的,而是横着看的,否则就不叫数据结构!不过这也是针对这张表而言,具体问题要具体分析。

【数据结构】第一章:绪论

第二节:数据结构的发展概况

    溜了溜了...

第三节:抽象数据型

    主要是分清楚三个名词:数据类型,数据结构和抽象数据型。这是基本思路。

各种数据类型形成的数据元素组成了数据结构,比如字符型组成字符串型,数值型组成数组。而且,这些数据结构也有自己的运算法则,比如整型可以加减乘除,浮点型可以不一样地加减乘除,字符串可以连接断开......这都是大家很熟悉的内容。但是,如果我们拿抽象的思想看,如果我把这些已有的东西弄成一个系统,也可以进行一些操作运算,也有自己的表示和存储方式,那不就可以实现套娃,在日后方便使用了吗?

没错,正是因此,抽象数据型应运而生,其实应该叫做抽象数据类型。我们说的数据类型比如int型,有各种数字和进位退位等等,也可以加减,这叫什么?这就叫做“数学模型”+“操作”。抽象数据类型也是如此!而数据结构,就就数学模型的一部分。(可以自己体会了)

抽象数据型=数学模型+操作。数学模型=数据结构+很多其它的东西(我要研究数据结构才把它单拿出来说)。数据结构=数据元素的关系=属于各种数据类型的数据元素的关系。抽象数据类型一旦实现,就可以方便地使用啦~

然后就可以...套娃了,官方一点就叫多层抽象。总之这就是套娃。数学嘛,就是这样子......

【数据结构】第一章:绪论

第四节:算法及其复杂度

    这节教我们怎样评价算法的优劣,这是研究算法最根本的工具。

    先来说说算法的五个重要特性,这个很好理解。

【数据结构】第一章:绪论

    再来说算法的时间和空间复杂度分析,这是考试的重点。因为是重点,所以自己看书自己搜,这里不写了!

第五节:逐步求精的程序设计方法

    溜了溜了...

相关文章: