一,前置关键词
1,集合
2,抽象
二,基本概念
数据
数据元素
数据项
数据对象

三,数据结构:
逻辑结构
数据元素之间肯定存在(逻辑)关系(没关系也是一种关系,普遍联系),
集合结构
线性结构
树形结构
图状/网状结构
物理结构/存储结构
脑洞完了之后,怎么在计算机中表示
主要用于内存的存储表示:
顺序存储表示
链接存储表示
主要用于外存 (文件) 的存储表示:
索引存储表示
散列存储表示
数据元素的表示
元素/节点
数据域
数据元素之间的关系的表示
顺序映像:借助数据元素之间的在存储器中的相对位置来表示逻辑关系
非顺序映像:借助指针(就是元素的存储地址)来表示逻辑关系
一个算法的设计,取决于选定的逻辑结构
一个算法的实现,取决于选定的存储结构
四,数据类型
如何描述存储结构?
在低级语言中,用地址;在高级语言中,用数据类型。
1,数据类型 规定了变量/表达式等,所有可能的取值范围和在这些值上允许进行的操作。
如 int,取值集合为某个区间上的整数;操作:加减乘除取模等算术操作。
2,数据类型 的提出目的
下,解释计算机内存中的01串信息含义;上,为用户隐藏不必要了解的细节。
如,coder写整数加法函数,
不必了解“整数”在计算机中怎么表示,也不需要知道对其执行的操作如何实现的(位操作),
仅仅需要关注数据值和值上操作的抽象逻辑
3,数据类型 分2类,原子类(基本数据类型)和结构类型
五,抽象数据类型(ADT)
定义
就是个数学模型,以及一些对它的操作
与在计算机上如何表示和实现无关,只要其数学抽象特性不变。
多形抽象数据类型(polymorphic ADT)
就是不同的D,有相同的S和P
比如int float,都可以加减乘除,有相同的数学抽象特性
表示和实现
组合,积木成塔
四,ref:
1,《数据结构,Cver》.严蔚敏.
2,https://www.jianshu.com/p/32eca07444d5
网友评论