java算法:算法分析

java算法:算法分析

因为要比较完成同一个任务的不同算法,预测算法在新环境中的性能,所以需要对算法进行数学分析。

虽然实验分析对其中一些任务可能已经满足了,但是数学分析会给我们提供更多的信息。

算法分析具有挑战性。通过仔细研究程序,找到数学量表达的运行时间,并对这些数学量进行数学分析,得出数学公式,再进行比较。

虽然有很多因素影响着算法的运行时间,但是精确地预测某个算法的运行时间也是有可能的。

算法分析的任务就是尽可能多的发现有关算法性能的特性;而Coder的任务就是利用这些信息为特定的运用选择算法。

算法分析就是找出算法基于哪些基本的对象操作,以便把分析与现实分开,同时还需要研究数据并把算法可能输入的模型化。

算法分析的重要数学工具:函数,大O表示法:

logN:程序运行时间是对数级别,N增大,运行时间增长的稍慢。直到N=N2,运行时间才翻倍。

NlogN:把一个问题分成若干个子问题,分别解决这些子问题,再把这些解合并起来。

N:程序运行的时间为线性。随N增大而增大。

N2,y=N3:算法的运行时间是平方次,算法只对相当小的问题有价值。

2n:很少具有指数运行时间的算法适合于实际运用。

大O表示法在此省略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值