算法分析——算法的渐进效率分析 和 渐进符号大O、大Ω、大θ、小o、小ω

上章 算法概述 中讲述了 在设计算法和比较算法时,设计人员更倾向于假设输入规模n无限大,然后再比较算法的渐进效率。

为什么要分析算法的渐进效率,而不是直接按照输入规模直接计算效率进行比较?

很直观的原因就是,当输入规模小的时候,各种算法间的差距并不会太大,对于大部分应用程序来讲,这些差距都可以被忽略

现实原因是,要精确计算算法执行时所消耗的资源是非常繁琐,代价较大,甚至说不太切于实际的

所以就有人发明了使用渐进分析法来分析算法的渐进效率。接下来的文章我们就将根据实际的例子进行具体的分析。

但在进行算法的渐进效率分析的时候,需要用到一些渐进符号,所以这里实现先对之后可能用到的渐进符号进行简单描述。

这地方可能有点比较难理解的是,渐进符号描述的表达式 表示 一个函数集合。而在渐进分析中的 ”=“更倾向于“∈ ”的意思。打个比方:渐进表达式 f(n) = O(g(n))所表达的意思是,O(g(n)) = [ f(n),h(n).....g(n) ]; f(n) ∈ O(g(n))

一、大O表示法

      一般用于界定函数集合的上界,渐进表达式O(g(n))的含义就是,c为正常数,函数集合O中的元素的最大值不会超过c.g(n)。f(n) = O(g(n))的含义是,函数f(n)的属于集合O&

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值