Lab 1 质数计算算法复杂度

prime: array [1..n] of boolean = all true

for p in 2..sqrt(n) loop

if prime[p] then

m = p*p

while m <= n loop

prime[m] = false

m = m+p

end loop

end if

end loop

 

很简单的算法,粗略估计是O(n*n^1/2),重写分析后得出结论是O(nlogn)。

 

一开始的时候我没有按最快情况考虑if prime[p],理论上讲应该是更精确的,但是在计算中发现把我整个导向了一个莫名其妙的地方~~老师的提示是按最坏情况考虑,重写算法,结果得出上面的结论,正在等待老师的批改~~

 

作算法作业最郁闷的就是总不是很确定自己应该精确到什么程度,太精确了计算不出来,而简单得计算往往又不能达到需要的精确程度,每次做出来一个结果都不知道是不是老师要的,虽然理论上应该不算是错的,纠结……

 

 

这个比较郁闷的老师,专注于莫名其妙的细节而不是算法本身,上课讲的算法简单的一塌糊涂~~~好吧,也算是提高一下我的细节,很多时候台粗枝大叶了,磨磨我的性子吧~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值