数据结构
1.请区分以下概念:
数据-数据对象-数据元素-数据项
1 | 数据:程序的操作对象,用于描述客观事物 |
2.逻辑结构有以下几种:
- 集合结构
- 线性结构
- 树形结构
- 图形结构
3.逻辑结构有以下几种:
- 顺序存储结构
- 链式存储结构
4.算法定义:
什么是算法?算法就是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每个指令表示一个或多个操作。
5.算法特性:
- 输入输出
- 有穷性
- 确定性
- 可行性
- 正确性
- 可读性
- 健壮性
- 时间效率高和储存量低
6.时间复杂度:
时间构成:
- 算法输入时间
- 编译可执行代码
- 执行指令
- 执行重复的指令
7.大O表示法:
- 用常数1取代运行时间中所有常数
- 在修改运行次数函数中,只保留最高阶项
- 如果在最高阶存在且不等于1,则去除这个项目相乘的常数
8.时间复杂度类型:
- 常数阶
- 线性阶
- 平方阶
- 对数阶
- 立方阶
- nlog阶
- 指数阶(不考虑),O(2^n)或者O(n!)除非是非常小的n,否则会造成噩梦般的时间消耗。这是一种不切实际的时间复杂度,一般不考虑。
1 | //常数阶时间复杂度计算 |
1 | //线性阶时间复杂度计算 |
1 | //对数阶 |
1 | //平方阶 |
9.空间复杂度
算法的空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记做:S(n)=n(f(n)),其中,n为问题的规模,f(n)为语句关于n所占存储空间的函数。
10.程序空间计算因素
- 寄存本身的指令所占空间
- 常数所占空间
- 变量所占空间
- 输入所占空间
- 对数据进行操作的辅助空间
在考量算法的空间复杂度,主要考虑算法执行时所需要的辅助空间
11.线性表-顺序表
对于非空的线性表和线性结构,其特点如下:
- 存在唯一的一个被称作“第一个”的数据元素;
- 存在唯一的一个被称作“最后一个”的数据元素;
- 除了第一个之外,结构中的每个数据元素有一个前驱;
- 除了最后一个之外,结构中的每个元素都有一个后继;
- 本文作者: KangLeon
- 本文链接: http://www.jiyoung.cn/2020/08/13/数据结构基础/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!