算法概括

算法概括

计算=信息处理
计算模型=计算机=信息处理工具//尺规机,绳索机,图灵机…
所谓算法,即特定计算模型下,旨在解决特定问题的指令序列
输入 输出 正确性 确定性 可行性 有穷性

数据结构 讲授各类数据结构设计和实现的基本原理与方法,算法设计和分析的主要技巧与工具

  1. 学习数据结构,就是要学会高效的利用计算机,有效地存储,组织,传递和转换数据。
  2. 掌握各类数据结构功能,表示,实现和基本操作接口,
  3. 理解各类基本算法与不同数据结构之间的内在联系,
  4. 了解各类数据结构适用的应用环境,灵活地选用各类基本算法对应的数据结构,解决实际问题。

各数据结构的ADT接口及其不同实现: 序列(向量,列表),树(着重于平衡二分查找树),优先队列(堆),字典(散列表),图,相关算法及应用
构造有效算法模块的常用技巧:顺序和二分查找,排序与选取,遍历,模式匹配,散列,几何查找
典型的算法设计策略与模式:迭代,贪心,递归,分治,减治,试探,剪枝,回溯,动态规划
基本的复杂度分析方法:渐进分析与相关记号递推关系,递归跟踪,分摊分析



问题实例的规模,往往是决定计算成本的主要因素,相同规模相同算法运气不同时,时间也不同,同一算法可能实现于不同的体系结构,操作系统

所需时间可以转化为基本操作的执行次数T(n)

在这里插入图片描述
big-O实际上给出了时间复杂度的一个上界,注意到在规模较小的情况下,T(n)不一定在big-O的下方
对应的,big-Ω,则是时间复杂度的下界,。

在这里插入图片描述

常见时间复杂度:

  • 常数复杂度O(1): 常数和常数的一些基本操作。 如果一段代码不含转向(循环,调用,递归等),必顺序执行,那么时间复杂度为O(1)。 反之则不一定

  • 对数复杂度O(logn)
    在这里插入图片描述

  • 多项式复杂度O(n^c)

在这里插入图片描述

  • 指数复杂度O(2^n)
    在这里插入图片描述

复杂度曲线
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值