数据结构和算法-概念篇

数据相关的名词解释

数据:能输入到计算机中并被计算机程序处理的符号的总称

数据元素:是数据的基本单位,由若干个数据项组成

数据对象:是性质相同的数据元素的集合,是数据的一个子集

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合,其中的关系称之为"结构"

数据元素的逻辑结构

结构类型和数据元素之间的关系特点:

集合

线性结构: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 所占存储空间的函数

你可能感兴趣的:(数据结构和算法-概念篇)