数据结构(计算机408考研科目)
首先我们提出一个问题:数据结构是在学习什么?
带着这个疑问我们来观察一下我们身边的世界。
从一日三餐,吃穿住行来看:
1.我们有时不想做饭时,我们可以打开手机去点外卖,不出多久,外卖即送餐上门。
2.不知大家有没有踩过我这样的“雷”:已经买了实体店的商品,回家上网搜了搜,结果发现网上购物平台打折出售我所购买的商品。
3.现在在我们外出旅游时,我们会浏览生活类APP,在上面定好机票或者是火车票,定好我们所要住的酒店,所要参观景点的门票。
观察后我们发现,如今的现代化世界对于我们的生活是很便利的,可以说,一个APP连接了我们所有的人,可以这样认为,在APP中,我们每个人的信息都好像是一行特定的代码(现实世界的问题信息化),APP在处理我们的请求时,将我们每个人的“特殊代码”发送给指定的商家(接收点)。
这样我们的出行就会变得高效。
看了上面的例子:
我们来回答
数据结构到底是在学什么?
1.如何用程序代码将现实世界的问题信息化
2.如何用计算机高效地处理这些信息从而创造价值
带着这两个如何,我们进入数据结构的世界。
对于我们来说,什么是数据?
画家用画笔描述世界,音乐家用音符描述世界,而我们呢?
我们用一行行代码来描述世界。
数据:数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并能被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。
早期的计算机,名副其实,就是以计算数据为主,各种方程,各种数学表达式。
而现在的计算机,主要是处理非数值类的问题。
比如说:我们使用社交软件来处理我们日常的信息,与他人联系。
使用视频软件观看我们喜欢的视频........
对于非数值类问题
1.我们关心每个个体的具体信息。
2.我们还关心个体之间的关系。
前面我们提到过:在计算机世界里,我们每个人的信息就好像是一行行特定的代码,也可以认为我们每个人的信息都是数据元素,若干个数据元素组成了数据。(可以类比结构体)
数据元素、数据项
数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。
一个数据元素可由很多数据项组成,数据项是构成数据元素的不可分割的最小单位
数据元素
{
数据项1;
数据项2;
....
数据项n;
}
类比一下
struct student//数据元素
{
int num;//数据项1
double score;//数据项2
char name[20];//数据项3
};
数据元素———描述一个个体
(学生信息结构体中每一个结构体变量是一个个体)
数据对象
数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
上面这张图可以帮助大家记忆数据的组成。
两种数据结构
线性数据结构
网状数据结构(简单表示,现实中的网状结构比这个更加复杂)
总结三条规律:
1.同样的数据元素,可组成不同的数据结构。(可以组成线状或网状)
2.不同的数据元素,可组成相同的数据结构。(数据元素可以比做人,不同的人被分配到同一个表中)
3.同一个数据对象里的数据元素,可以组成不同的数据结构。(比如说:人所拥有的物品可以组成线状或网状数据结构)
今天的初识数据结构就到这里啦!感谢你的阅读,我们下篇再见。