【数据结构呀,痛并快乐】第一章 绪论 (1)用通俗的语言解释数据结构

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41453482/article/details/102760227

开门见山

你有一个计算机,你要解决一个问题,你需要经过几步呢?

别想太复杂,和把大象送冰箱一样,三步足以:

· 分析问题,确定数据模型。想想你要做什么,对你要把大象塞冰箱。

· 设计相应的算法。想想具体把大象塞入冰箱的步骤。

· 编写程序,运行并调试程序。开门、塞入、关门,动手执行就好了。

分析问题分析的是数学模型,从问题中提取你能操作的对象,比如大象,找到这些操作对象之间的关系,然后用数学语言去描述。

什么是数据?

数据(data)是描述客观事物的数和字符的组合。说白了,凡是能被输入到计算机中的,能被计算机处理的符号的集合就是数据。

举个栗子,帝都动物园动物数据,指的就是该动物园所有动物记录的集合。

什么是数据元素(data element)?

数据元素是数据的基本单位,数据元素也称为元素、结点、顶点或者记录等。

举个例子,帝都动物园中的每个动物都是帝都动物园的一个个数据元素,这些数据元素构成了数据。

老虎贝贝是一个数据元素,大象憨憨是一个数据元素。

什么是数据项(data item)?

数据项是具有独立含义的数据不可分割的最小单位,也称为字段或域。

举个栗子,帝都动物园的每个动物都由姓名、性别、体重等,姓名是一个数据项,性别是一个数据项,体重也是一个数据项。

如果你有 面向对象(OOP)的基础,对于一个对象来说,属性就是数据项。

什么是数据对象(data object)?

数据对象是指性质相同的数据元素的集合,它是数据的一个子集。

帝都动物园中,老虎是一个数据对象,大象是一个数据对象。

说了这么半天,总算入主题了。

什么是数据结构(data structure)?

数据结构是指所有数据元素以及数据元素之间的关系,可以看做是相互之间存在着某种特定关系的数据元素的集合。

换句话而言,数据结构是数据的组织形式。

这是大象憨憨,这是老虎贝贝,我们怎么把它们安放,按着什么形式安放在帝都动物园里。

数据结构 = 数据 + 结构

数据结构要有两个东西,数据和结构,即数据和数据的组织形式。

数据结构通常包含三个方面:数据的逻辑结构、数据的存储结构和数据的运算。

· 数据的逻辑结构(logical structure):由数据元素之间的逻辑关系构成

· 数据的存储结构(storage structure):也成为数据的物理结构(physical structure)数据元素及其关系在计算机存储器中的存储表示。

· 数据的运算(operation):施加在该数据上的操作。

把我们做一个房屋作为一个工程

房子有很多东西构成对不对,门,窗户,床等

我们但说窗户,窗户就是一个数据结构。

窗户由玻璃、窗框、把手等组成,玻璃、窗框、把手这些就是元素,窗户的元素

这些元素构成了窗户, 那它们构成的窗户的模型就是逻辑结构。

而数据的元素,指的就是这个窗户它能提供的功能。

我们把窗户设计好了,门设计好了,一点一点,这个工程就完成了。

数据结构是一门讨论“描述现实世界实体的数学模型(通常为非数值计算)及其之上的运算在计算机中如何表示和实现”的学科。

鄙人才疏学浅,如果哪里发生了争议,私下和我辩说就好。我会及时修改和悔过自新。

那我们就一点一点开始学数据结构吧。

作者:何以百里
https://www.bilibili.com/read/cv3843903
出处: bilibili

猜你喜欢

转载自blog.csdn.net/qq_41453482/article/details/102760227