1.1 绪论
数据结构绪论
本篇主要内容为数据结构入门知识,包括基本概念和数据结构的三要素,话不多说,上正文。
基本概念
数据 信息的载体,用于描述客观事物的属性,能被计算机识别和处理的符号集合,如视频,图片,文字,声音
数据元素和数据项 数据元素是数据的基本单位,通常作为一个整体考虑,比如我的微博账号;一个数据元素可以由多个数据项构成,比如我的微博账号包括账号,密码,个人简介等;数据元素与数据项的关系可以近似的理解为Excel中一行与一个单元格的关系
数据结构 相互之间存在一种或多种关系的数据的集合
数据对象 具有相同性质的数据元素的集合,不强调相互之间的关系,只强调性质相同
数据类型
- 原子类型:不可再分的数据类型,比如bool、int等
- 结构类型:可以理解为由多个原子类型复合而成的数据类型
- 抽象数据类型 ADT(Abstract Data Type):抽象的数据组织及相关操作,只包含逻辑结构和定义的相关操作,只有在实现的时候才考虑物理结构
数据结构的三要素
逻辑结构 就是数据结构在逻辑上的结构,包括集合
、线性结构
、树形结构
和图结构(网状结构)
-
集合用于表示元素同属一个集合
-
线性结构表示元素在逻辑上按照顺序成线性排列,比如字符串“abc”,a称为b的前驱,c称为b的后继,a作为此线性结构的首个元素,没有前驱,c作为此线性结构的尾元素,没有后继,元素的前驱和后继都是唯一的
-
树形结构用于表示
一对多
的关系,也用于呈现元素之间的层次关系(从属、并列等),比如族谱 -
图结构用于表示
多对多的元素关系,
比如好友通讯录,每个人有不同的好友,好友之间可能还有共同好友
物理结构也称存储结构,是指数据结构实现时在内存中的存储方式,包括顺序存储
、链式存储
、索引存储
、散列存储
- 顺序存储要求在逻辑上相邻的元素在物理上也是相邻的
- 链式存储方式在物理结构上可以是乱序的,通过指针表示元素之间的逻辑关系
- 根据元素的关键字,直接计算元素在计算机中的存储地址,又称哈希(Hash)存储
- 小结
- 顺序存储结构要求各元素在物理上必须是相连的,而非顺序存储结构则可以是离散的
- 数据的存储结构会影响存储空间分配的效率。比如采用顺序存储插入元素,需要将插入位置之后的元素全部向后移位,而链式结构只需改变指针指向即可
- 数据的存储结构会影响数据的运算速度,以查找为例,顺序结构可以直接查找第n个元素,而链式结构需要找到首元素然后根据指针向后查找
数据运算是指数据结构的逻辑上的操作,比如增加、删除、排序、查找等。针对不同的数据结构有不同的数据运算,不同的数据结构的运算的操作步骤也各不相同。
本篇完