[数据结构笔记]数据结构基本概念和算法导论
2020-06-08 05:30
645 查看
一、概念
1.1 基本概念和术语
-
数据:描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
-
数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。
-
数据项:一个数据元素可以有若干个数据项组成。数据项是数据不可分割的最小单位。
-
数据对象:是性质相同的数据元素的集合,是数据的子集。
-
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
1.2 逻辑结果和物理结构
1.2.1 逻辑结构
逻辑结构 | 特点 |
---|---|
集合结构 | 元素间平等 |
线性结构 | 元素一对一 |
树形结构 | 元素一对多 |
图形结构 | 元素多对多 |
1.2.2 物理结构
- 数据的逻辑结构在计算机中的存储形式
物理结构 | 特点 |
---|---|
顺序存储结构 | 逻辑关系和物理关系一致 |
链式存储结构 | 任意存放在存储单位,利用指针存放地址 |
1.3 抽象数据类型
1.3.1 数据类型
指一组性质相同的值的集合及定义在此集合上的一些操作的总称。
-
原子类型:不可再分解的基本类型,包括整型、实型、字符型等
-
结构类型:由若干个类型组合而成,例如整型数组由若干个整型数据组成。
1.3.2 抽象数据类型
指一个数学模型及定义在该模型上的一组操作。
- 在于数据类型的数学抽象特性,拥有自己定义的。
1.3.3 特点
- 抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。
二、算法
2.1 定义
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
2.2 特性
- 输入、输出、有穷性、确定性和可行性。
2.3 设计要求
- 正确性、可读性、健壮性、时间效率高和存储量低
2.4 效率度量方法
- 事后统计法和事前分析估算法
2.5 常见时间复杂度
执行次数函数 | 阶 | 非正式术语 |
---|---|---|
12 | O(1) | 常数阶 |
2n+3 | O(n) | 线性阶 |
3n2+2n+1 | O(n2) | 平方阶 |
5log2n+20 | O(logn) | 对数阶 |
2n+3nlog2n+19 | O(nlogn) | nlogn阶 |
6n3+2n2+3n+4 | O(n3) | 立方阶 |
2n | O(2n) | 指数阶 |
耗费时间排序:
O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
2.6 空间复杂度
- 算法的空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记作:S(n)=O(f(n)),其中,n为问题的规模,f(n)为语句关于n所占存储空间的函数。
笔记持续更新,欢迎关注。
相关文章推荐
- 数据结构5⃣️:数据结构和算法的基本概念
- 数据挖掘导论学习笔记 第六章 关联分析:基本概念和算法
- 数据结构(一):数据结构的基本概念和算法的时间和空间复杂度
- 【数据结构与算法】【查找】基本概念
- 【数据结构与算法001】基本数据结构——队列
- 数据结构 学习笔记(一):基本概念:什么是数据结构和算法,应用实例
- 数据结构与算法-图(绪论 图论基本概念)
- 考试笔记03_数据结构_基本算法复杂度
- 【数据结构与算法003】基本数据结构——线性表(链表)
- 数据结构-基本概念和算法分析
- 学习笔记 之 数据结构——基本概念
- 【数据结构与算法】基本数据结构——栈的链式表示
- 算法导论笔记:10基本数据结构(番外)
- 数据机构与算法-数据结构的一些基本概念
- 数据结构与基本算法的学习笔记-简述-1
- 数据结构之数组(以此为例引入数据结构基本概念)
- 数据机构与算法-数据结构的一些基本概念
- 算法与数据结构(3):基本数据结构——链表,栈,队列,有根树
- 数据结构与算法1-基本概念
- 数据结构基本概念和术语:位、字节、字、位串、元素、数据域、物理结构、逻辑结构