1.绪论
1.基本术语
- 数据项
(数据项可以是不可分割的原子,也可以由若干数据项构成为具有独立意义的最小单位)
(eg.蔗糖原子) - 数据元素
(数据元素是表示数据的基本单位)
(eg.一颗糖果) - 数据对象
(相同数据元素的集合,数据的子集)
(eg.糖罐子) - 数据
特点:1.能输入计算机 2.能被计算机程序识别和处理) - 数据结构
(数据结构是存在关系的数据元素构成的集合)
数据项<数据元素<数据对象<数据
2.三个要素
三要素:逻辑结构,存储结构,数据运算
逻辑结构 | 物理(存储)结构 |
---|---|
* 集合结构 | * 顺序存储结构 |
* 线性结构 | * 链式存储结构 |
* 树形结构 | |
* 图形结构 |
(线性:一对一 树形:一对多 图形:多对多)
数据运算:是指对数据元素实施的操作,包括运算的定义和运算的实现,运算的定义取决于数据的逻辑结构,运算的实现取决于数据的存储结构
3.算法的定义与评价
定义 | 评价 |
---|---|
输入性 | 正确性 |
输出性 | 可读性 |
确定性 | 健壮性 |
可行性 | 高效性 |
有穷性 |
4.算法的性能分析
分析方法:事后统计法,事前分析法
分析内容:时间复杂度,空间复杂度
(判断一个算法的效率时,函数中的常数和其他次要项常常可以忽略,更应该关注主项(最高层阶)的阶数)
时间复杂度:大O记法
注意:不管这个常数是多少,我们都记作O(1),而不能是O(3)、O(12)等其他任何数字,这是初学者常常犯的错误。
空间复杂度:S(n)=O(f(n))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架