算法分析之计数与渐进分析

发布时间:2024-11-30 23:03

使用Jupyter Notebook进行数据分析和科学计算 #生活技巧# #工作学习技巧# #编程学习资源#

算法分析之计数与渐进分析

最新推荐文章于 2023-01-26 03:27:43 发布

Yiang24 于 2020-02-08 00:49:44 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

算法分析三方面

正确性分析:对一个能得到终结结果的算法的结果进行正确性分析(顺口溜)时空效率分析:对算法的实现运行所用空间和所需步骤进行分析。时空特性分析:除了以上两点还有诸如:健壮性、稳定性、可维护性、可拓展性等方面的分析。

计数分析

计数分析是算法时空效率分析的基石。如下一段代码:

for(int i = 1;i<=n;i*=2) { for(int j = 1;j<=i;j++) { l++; } } 1234567

本段代码的核心计算部分就是l++,要对这段代码进行计数分析,首先来看两段循环执行过程。
第一层循环i的取值范围(i=2^N;N<=logn(以2为底)),所以l++的运行次数就是2的阶乘的累加,所以有
f(n)=∑i=1logn2i=2n-2;

渐近分析

忽略外界因素,仅仅对算法的输入n趋向于无穷大的时候算法的效率表现。
渐进分析的三个符号:O(表示渐进上界<=),Ω(渐进下界>=),Θ(准确界)
怎样判断当n向于正无穷大时f(n)的阶的情况?
高等数学求极限一章,让f(n)与已知阶g(n)做商在趋向于正无穷时的结果判断,f(n)与g(n)是同阶,还是高阶。
递归树求渐近上界
fg:T(n) = 3T(n/3)+O(logn)
递归树
Tolal = O(n)
证明:T(n) = 3T(n/3)+O(logn) <=cn + clogn
当 n= 1,对c>=1都成立;
当 n>1,T(n) = 3T(n/3)+O(logn) <=cn + clogn
=c(n+logn)
=θ(max(n,logn))
所以T(n) 的渐进上界是 O(n)。

网址:算法分析之计数与渐进分析 https://www.yuejiaxmz.com/news/view/328521

相关内容

《数据结构与算法分析
【算法设计与分析】递推算法
Matlab数据分析与多项式计算
人人都是数据分析师:到底什么是数据分析?如何进行数据分析?
算法设计与分析
《python数据分析与挖掘》
生存数据分析
9种最常用数据分析方法!
Python数据分析:对饮食与健康数据的分析与可视化
商业数据分析从入门到入职(1)商业数据分析综述

随便看看