算法复杂度的计算及优缺比较

算法复杂度的计算及优缺比较

概念及公式

时间复杂度

一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。意思就是说,一个算法,我不能每一个都上机去测试一下花费的时间,那么在比较粗略的前提下,是不是可以假设每一行代码的执行时间是相同的?在此假设的前提下,算法的执行时间就变成了代码行的执行次数。这个代码行的执行次数就是时间频度。也就是在假设每一行代码(每一条语句)的执行时间都相同的前提下,以更加直观的代码行的执行次数来表示整个算法的执行时间
T(n)中的n称为问题的规模,比如,对5个数字进行排序,对10个数字进行排序,这里的5和10就是n,就是问题的规模。
当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度的概念。所以,我们知道了
时间复杂度=时间频度T(n)的变化规律
算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),存在一个正常数c使得fn*c>=T(n)恒成立。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值