数据结构的基本概念(王道考研)
本章讲解重点
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
注意:
数据结构的基本概念(王道考研)
例:
吃海底捞时排队取号
将每一队顾客看做一个数据元素
所包含的信息就被叫做数据项
数据结构的基本概念(王道考研)
例:
每一个微博账号看做一个数据元素
这个账号有很多类的信息,每一类叫做数据项,这一个数据项又由多种类型的信息组合而成,那么这一项又叫做组合项
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
例:
海底捞的每一队顾客之间叫号有先后顺序
即每个数据元素之间有相应的逻辑关系
这个集合就叫做数据结构
例:
有AB两家海底捞的店
有很多队人在取号等待
但在A家排队的顾客与在B家排队的顾客没有逻辑关系
但是都在海底捞排队取号,取号模式相同
像这样具有相同性质的数据元素的集合,就叫做数据对象
数据对象是数据的一个子集
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
所以:
数据结构强调的是数据元素之间必须存在某种关系
而数据对象只要求在这个集合当中的所有数据元素都具有相同的性质
数据结构的基本概念(王道考研)
逻辑结构主要研究的是数据元素之间的逻辑关系
数据结构的基本概念(王道考研)
1.集合(与数学中的集合性质类似)
每个元素属于这个集合,但是相互没有什么关系
数据结构的基本概念(王道考研)
2,线性结构(逻辑上的关联性)
数据元素之间是一对一的关系
数据元素之间相互两个有逻辑关系,而与其他数据元素没有关系
前驱指的是前面一个元素
第一个元素没有前驱
后继的意思是后面一个元素
最后一个元素没有后继
数据结构的基本概念(王道考研)
3,树形结构
每个数据元素的逻辑关系类似树状图
数据结构的基本概念(王道考研)
4,图结构
各数据元素之间存在多对多的逻辑关系
数据结构的基本概念(王道考研)
例:你的人际关系的衍生图
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
数据的物理结构
也叫做数据的存储结构
探讨的是如何用计算机来表示数据元素的逻辑关系
(1,线性结构,2,树形结构,3,图结构)这几种逻辑关系怎样用计算机来表示
数据结构的基本概念(王道考研)
数据存储结构分为四种
1,顺序存储
要求每个数据元素分配相邻的存储单元
数据元素之间的逻辑关系直接由存储单元的邻接关系来体现
例:
线性逻辑采用顺序存储方式:
数据结构的基本概念(王道考研)
2,链式存储
不要求每个数据元素分配的存储单元必须相邻
数据元素之间的逻辑关系借助指针来表示元素之间的逻辑关系
例:
线性逻辑采用链式存储方式:
数据结构的基本概念(王道考研)
3,索引存储
先根据元素的逻辑关系专门的存储一张索引表
数据元素借助索引表存储的地址,指向对应的元素的存储单元
关键字:可以区分不同元素的数据项
例:
线性逻辑采用索引表的存储方式:
数据结构的基本概念(王道考研)
4,散列存储
数据结构的基本概念(王道考研)
这四种存储形式是非顺序存储
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
例:排队等候,银行叫号
排队等候时很清晰的看的出第几个位置对应的对象的信息
这时候有人想插队那么后面的人都将往后挪一位
银行叫号时不能很清楚的知道第几个位置对应的对象的信息
但这时候有人想插队,给他们拿VIP票,让他们先即可,其他人的号不变
数据结构的基本概念(王道考研)
数据的运算:
数据结构的基本概念(王道考研)
不同的数据结构将采取不同的数据运算方式
例:
数据结构的基本概念(王道考研)
如果加了一个999号
顺序存储只需要在后面的内存单元中加一个存储单元即可
链式存储则顺便放入一个内存单元,然后用指针相连即可
数据结构的基本概念(王道考研)
具体的数据类型:
值的范围+对应的操作
数据结构的基本概念(王道考研)
抽象的数据类型(ADT):
抽象数据组织+对应的操作
只关心数据元素的逻辑结构与数据的运算
当要实现这种抽象数据类型时才考虑存储结构
数据结构的基本概念(王道考研)
总结:
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)
数据结构的基本概念(王道考研)