数据(data):可被计算机接受处理的符号总称
数据元素(data element):数据的基本单位,常作为一个整体进行考虑和处理
一个数据元素可以由若干个数据项(data item)组成
数据对象(data object):性质相同的数据元素集合
数据结构(data structure):相互之间存在特定关系的数据元素集合
Data_Structure = {D,R}
Data object(D) + Specific existing relationships(R)
逻辑结构:描述数据元素间逻辑关系
物理结构/存储结构:数据结构在计算机中的表示
按某种物理结构存储数据时,要能恢复其逻辑结构
数据类型(data type):值集合和值集合上操作的总称
原子类型(atom type)
结构类型(structure type)
作用:实现信息隐藏
抽象数据类型(abstract data type):(数据类型是抽象数据类型的物理实现)数据类型的延伸(值集合和值集合上的操作/数学模型和模型上的操作),是一个三元组,(D,R,P)
P -> 对数据的操作/处理
抽象在何处:不关注其物理实现,抓住本质,忽略细节
例如:语文成绩,不关注是浮点还是整型
集合结构(sets):none specific relationship
线性结构(linear)
树形结构(tree structure)
可将树组织成堆(heap)
图结构(graph)
网(net):带权图
线性表(linear list):逻辑结构
顺序表和链表是常用的实现线性表的数据结构
堆栈与队列(stack queue):有特定特征的线性表,两种数据结构
字符串(String):特殊的线性结构,以字符为元素
不讲也不考
树(tree):逻辑上表示结点层次关系的非线性结构
graph/net:一个结点集合和一个边集合
算法(algorithm):为解决问题的一系列操作
特征:
finity(有限)
certainty(确定/无二义)
feasibility(可行)
input(输入)
output(输出)
设计要求:
正确correctness(对几组数据/对苛刻数据/对所有合法数据)
可读性(readability)
健壮性(robustness)(处理异常情况)
efficiency and low storage(高效低耗)
算法上界(worst)和下界(best)
O表示上界