理解常见的算法时间复杂度
【摘要】 1、常见的算法时间复杂度
# 常数阶 O(1)
n = 10
# 线性阶 O(n)
for i in range(n): print(i)
# 平方阶 O(n^2)
for i in range(n): for j in range(n): print(i + j)
1234567891011
2、对数阶 O(logN)
i = 1
while i <=...
1、常见的算法时间复杂度
# 常数阶 O(1)
n = 10
# 线性阶 O(n)
for i in range(n): print(i)
# 平方阶 O(n^2)
for i in range(n): for j in range(n): print(i + j)
2、对数阶 O(logN)
i = 1
while i <= n: i = i * 2 print(i)
理解
i*2之后,距离n越来越近
输出的i值:
2 4 8 16
2 2*2 2*2*2 2*2*2*2
2^1 2^2 2^3 2^4
假设需要执行x次,那么2^x = n
=> x = log_2(N)
=> O(logN)
参考
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/107951165
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)