数据结构复习之 算法分析

本文主要探讨算法的代价,包括时间代价和空间代价,并通过渐进分析进行评估。介绍了大O、大Ω和Θ表示法,用于描述算法在问题规模趋于无穷时的效率。同时强调了算法的正确性、具体步骤、确定性和有限性等关键特性。
摘要由CSDN通过智能技术生成

这部分主要目的是对于时间空间复杂度、算法评价标准有一个了解,以便于在后面的学习中可以对各种数据结构的效率有一个客观的评价标准 对比起来也更容易

一、算法代价

代价可以分为两种 时间代价和空间代价

时间代价主要是指算法执行过程中所需的时间

空间代价指算法所需要的存储器资源

对于一个算法的评价应该可以客观地展现算法本身的效率 而与算法执行的硬件条件、软件环境无关

对于算法的评价可以有最差、最好、平均三种角度来分析 

比较算法的方法有事后统计方法 和事前分析估计方法,事后统计就是找两个算法来实际跑一跑,统计出一些性能参数来比较算法的开销;事前分析估计方法也称为渐进算法分析,估算对于一个问题的算法当问题规模变大时所需的开销情况

二、时间代价

把执行算法所需要的时间T写为与输入规模n相关的函数T(n) 

常见时间复杂度:

三、渐进分析

当输入规模趋于无穷大时 对算法运行时间函数T(n)的渐进性态的估计,提供了对算法资源开销进行评估的简单化的模型

上限——大O表示法

对于非负函数T(n) 若存在两个正常数c和n0 n>n0时有T(n)≤cf(n),则称T(n)当n充分大时有上限 且f(n)是他的一个上限,记为T(n)∈O(f(n))

也就是说 当输入问题规模趋于无限大的时候 算法执行时间是可以小于等于一个关于n的函数值

例 某一算法平均情况下 T(n)=c1n2+c2n, c1、 c2为正数。 当n>1时, c1n2+c2n≤c1n2+c2n2≤(c1+

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值