数据相关的名词解释
数据:能输入到计算机中并被计算机程序处理的符号的总称
数据元素:是数据的基本单位,由若干个数据项组成
数据对象:是性质相同的数据元素的集合,是数据的一个子集
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合,其中的关系称之为"结构"
数据元素的逻辑结构
结构类型和数据元素之间的关系特点:
集合
线性结构:1对1
树形结构:1对多
图状结构/网状结构:多对多
数据元素的物理结构/存储结构
顺序存储结构
链式存储结构
数据类型
原子类型:不可分解的,如基本类型,指针,空类型等
结构类型:可分解的,如数组等
抽象数据类型(ADT)
抽象,是抽取出事物具有的普遍性的本质。它是抽出问题的特征而忽略非本质的细节,是对具体事物的一个概括。抽象是一种思考问题的方式,它隐藏繁杂的细节,只保留实现目标所必需的信息
抽象数据类型,是指一个数学模型以及定义在该模型上的一组操作。例如,我们在编写计算机绘图软件系统时,经常会使用到坐标。也就是说,会经常使用 xy 来描述横纵坐标,而在 3D 系统中,z深度就会出现。既然这 3 个整型数字是始终出现在一起。那就可以定义成一个 Point 的抽象数据类型。它有 xyz 三个整型变量。这样开发者就非常方便操作Point 数据变量
抽象数据类型分为以下几种:
原子类型
固定聚合类型
可变聚合类型
算法概念
算法就是解決特定向题求解步骤的描述,在计算机中表现为指令的有限序列,并且每个指令表示一个或多个操作
算法的特性:
有穷性
确定性
可行性
输入
输出
算法的设计要求:
正确性
可读性
健壮性
效率与低存储量需求
算法效率的量度:渐进时间复杂度
常数阶
对数阶
线性阶
nlogn阶
平方阶
立方阶
指数阶
时间复杂度排行:O(1) < O(log n) < O(n) < O(nlog n) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)
算法存储空间的量度:空间复杂度
算法的空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记做:S(n) = n(f (n)) ,其中 n 为问题的规模,f(n) 为语句关于 n 所占存储空间的函数