个人简述
题主本人只是一介普普通通一本非计算机专业的应届毕业生,目前已投入工作由于深感自身能力不足,所以走上了考取在职研究生的道路,也算是持续的记录自己的学习成果吧,希望能够通过长期的博客编写有所收获。
数据结构的基本概念
- 数据:数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
- 数据元素:首先,数据元素是数据的基本单位,通常作为一个整体进行考虑和处理;数据元素是由多个数据项组成的,而数据项才是构成数据元素的最小组成单位。
- 数据对象:这个概念一般使用的比较少,它表示有相同性质的数据的集合。
- 数据类型:这里需要注意的是数据类型并不是单单指代一个值的集合,还表示定义在这个集合上的一组操作
- 抽象数据结构:这是一个比较重要的知识点,它是指一个数学模型及定义在该模型上的一组操作,这里需要强调的是该类型是作为一种偏逻辑的概念,抽象数据类型与计算机内部的表示和实现无关,只要数学特性不变,那么外部的使用则不变。通常用数据对象、数据关系、基本操作集,这样的三元组表示抽象数据类型,在熟悉了数据结构的定义后,抽象数据类型可以作为表示数据结构的实例存在。
- 数据结构:这是一个需要老生常谈的概念,数据元素都不是孤立存在的,他们之间存在着的关系称为结构,而数据结构则是相互之间存在一种或多种特定关系的数据元素的集合,而其中包括三方面的内容:逻辑结构,存储结构和数据的运算。这里需要注意的是,逻辑结构和存储结构的关系,算法的设计取决于所选的逻辑结构,这部分是抽象的;算法的实现取决于所选的存储结构,这是具体的。
数据结构的三要素
数据的逻辑结构
逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。有一点需要十分的注意,它与数据的存储无关,是独立于计算机的,其实可以理解为设计图和施工场地的关系。
- 集合:结构中的数据元素之间除“同属一个集合”外没有其他关系。
- 线性结构:结构中的数据元素之间只存在一对一的关系。
- 树形结构:结构中的数据元素之间存在一对多的关系。
- 图状结构或网状结构:结构中的数据元素之间存在多对多的关系。
数据的存储结构
存储结构是指数据结构在计算中的表示(映像),也称物理结构。它包括数据元素的表示和关系的表示。数据的存储结构是用计算机语言实现的逻辑结构,它依赖于计算机语言。数据的存储结构主要有顺序存储、链式存储、索引存储和散列存储。这里需要注意的是要把逻辑结构与存储结构的概念及其表现区分开!
数据的运算
施加在数据上的运算的定义和实现。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体步骤。
小结
该篇幅的内容是基于教材1.1节的内容,虽然篇幅很少但是却十分重要,因为其概念无论是逻辑结构还是存储结构都很较为抽象,记住不难,初步的理解不难,但是能够融汇于题目中并不是那么容易。而在这其中比较需要注意的点在于数据的理解以及对于数据结构的区分很关键,需要理清逻辑结构和存储结构的关系,逻辑结构是抽象存在的,存储结构是具体存在的,同时在做题的时候需要注意逻辑结构的例子,以及存储结构的例子。