数据结构笔记 —— 绪论:数据结构基本概念与三要素

1.1 本篇知识框架

在这里插入图片描述

1.2 基本概念

1.2.1 数据元素和数据项

我们先来讲一个例子:中华民族由 56 个民族组成。
在这里插入图片描述

因为数据元素通常作为整体,且可分割成若干个数据项,而数据项是不可再分割的,所以这个例子中,中华民族就是数据元素,而 56 个民族就是数据项。严谨的定义如下:
数据元素是数据的基本单位,通常作为一个整体。一个数据元素可分割成若干数据项,数据项是构成数据元素的最小单位,所以数据项是不可再分割的。
下面我们用面向对象的思维来理解数据元素和数据项,比如学生这个对象,学生这个对象由 id、学号、姓名、性别、手机号码等等属性构成,这样看来,学生就是数据元素,id、学号、姓名、性别、手机号码等属性就是数据项。

在这里插入图片描述

1.2.2 数据结构和数据对象

我们去外面吃饭的时候,通常会领到一个号码牌,同一家餐饮店的顾客号码往往有着先后关系,而不同餐饮店的顾客号码没有什么关系。所以呢,同一家餐饮店的顾客号码就是数据结构,而所有餐饮店的顾客号码就是数据对象。
在这里插入图片描述 图 1.2.2 − 1 同 一 家 餐 饮 店 的 顾 客 关 系 图 1.2.2-1 同一家餐饮店的顾客关系 1.2.21

看到这可能有读者要犯嘀咕了,数据结构不是什么单链表、树、图……这些吗,怎么会是同一家餐饮店的顾客号码呢?
我们来看看数据结构和数据对象的严谨定义:

  • 数据结构:相互之间存在一种或多种特定关系的数据元素的集合
  • 数据对象:具有相同性质的数据元素的集合

根据数据结构的定义,我们可以知道,数据结构其实就是有着特定关系的多个数据元素,单链表就是一对一关系的数据元素,树就是一对多关系的数据元素,图就是多对多关系的数据元素。上面提到的同一家餐饮店的顾客号码是按先后顺序排序的,所以是一对一的关系。

在这里插入图片描述
图 1.2.2 − 2 一 对 一 关 系 图 1.2.2 - 2 一对一关系 1.2.22
在这里插入图片描述
图 1.2.2 − 3 一 对 多 关 系 图 1.2.2 - 3 一对多关系 1.2.23
在这里插入图片描述
图 1.2.2 − 4 多 对 多 关 系 图 1.2.2 - 4 多对多关系 1.2.24

1.3 数据结构三要素

明白了数据结构就是具有特定关系的数据元素的集合后,我们把数据结构的特定关系叫做逻辑结构,但逻辑结构只是我们人看得懂的蓝图,计算机看不懂,所以要把逻辑结构转换成计算机语言,逻辑结构的计算机语言就是存储结构。此外我们往往需要对数据做出初始化、增删改查等操作,这些操作就是数据的运算。所以,逻辑结构、存储结构和数据的运算就是数据结构的三要素。

下图是单链表从逻辑结构到单链表的形成过程

在这里插入图片描述

图 1.3 − 1 单 链 表 形 成 过 程 图 1.3 - 1 单链表形成过程 1.31

1.3.1 逻辑结构

逻辑结构就是数据元素之间的逻辑关系,包括集合、线性结构、树形结构和图状结构。

  • 集合:各个数据元素同属一个集合,别无其它关系
  • 线性结构:即一对一关系
  • 树形结构:即一对多关系
  • 图状结构:即多对多关系

在这里插入图片描述
图 1.3.1 − 1 逻 辑 结 构 图 1.3.1 - 1 逻辑结构 1.3.11

1.3.2 存储结构

存储结构分为顺序存储和非顺序存储。

1.3.2.1 顺序存储

顺序存储:相邻数据元素在内存中的存储位置也相邻,比如:数组

在这里插入图片描述
图 1.3.2 − 1 顺 序 存 储 图1.3.2 - 1 顺序存储 1.3.21

1.3.2.2 非顺序存储

非顺序存储:相邻数据元素在内存中的存储位置不相邻,包括链式存储、索引存储和散列存储

  • 链式存储:即链表
  • 索引存储:包括二叉树、B+ 树、红黑树
  • 散列存储:常见的有哈希表

1.4 总结

在这里插入图片描述
图 1.4 − 1 总 结 图 1.4 - 1 总结 1.41

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值