一、基本概念
1、数据
数据是信息的载体,是能够对客观事物属性描述的数字、字符、音频、图片等以及所有能够被输入到计算机中被计算机程序识别和处理的符号的集合,是计算机程序运行和加工的原料。
2、数据元素
数据元素是数据的最基本单位,单个数据元素可以由若干个数据项组成,数据项是数据元素中最小的单位。例如MySQL数据库中“学生”字段可以由姓名、性别等数据项组成。
3、数据对象
数据对象是具有相同性质的数据元素的集合,是数据的一个子集。例如数据可以是整形、字符型或者浮点型,而数据对象能够作为一个整形数据的集合来当作数据的子集。
4、数据类型
数据类型是一个值的集合及其对值的有关操作的总称。数据类型主要为原子类型(计算机原有设置的类型,如int、float、String)、结构类型(多个原子类型的组成,可以看作java的类)、抽象数据类型ADT(抽象数据类型及相关抽象操作)
5、数据结构
数据结构是数据相互之间的一种或多种特定关系的集合,不同的关系就叫做不同的结构,对于数据的结构的研究应该分为三要素:逻辑结构-物理结构-数据的运算操作。
算法的设计取决于逻辑结构(人为),而算法的实现取决于存储结构(物理结构)。
二、数据结构三要素
1、逻辑结构
逻辑结构是人为对数据关系之间逻辑关系的一种描述,与计算机的数据存储无关,独立于计算机,也就是独立于物理结构。逻辑结构分为线性结构和非线性结构,两中逻辑结构都有着不同的数据结构,这些都是后面研究的重点,如图所示:
集合:数据除同属一个集合外,无任何关系
线性结构:数据关系一对一
树形结构:数据关系一对多
图形结构(网形结构):数据关系多对多
注:逻辑结构是每种数据结构学习的最重要方面之一,要学会理解逻辑构成的原理和思想,根据逻辑结构进行创销增删改查等操作。
2、存储结构(物理结构)
存储结构是人为设定的逻辑结构在计算中的表示,依赖于计算语言来实现,每研究一种数据结构除了研究它的逻辑结构之外,还要研究它如何在计算机中怎样通过计算机语言来实现的,主要是顺序存储和链式存储,链式存储一般是依靠指针来实现,其次还有索引存储和散列存储。
每一种存储结构都有着各自的优缺点,并不存在好坏之分,要充分理解每种存储结构的优缺点,每种存储结构的关系,以及对于时间复杂度和空间复杂度的影响。
3、数据的运算
运算的定义是针对数据逻辑结构,而运算的实现要依靠存储结构,计算机语言来实现。
好啦,本次的数据结构首次分享就到此为止了,谢谢你的点赞,期待下次的见面!