初级算法:大O表示法

Posted J哥。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初级算法:大O表示法相关的知识,希望对你有一定的参考价值。

大O表示法的样子为 O(操作数)
大O表示法指出了算法的速度有多快
它的好处在于,当我们引用别人的算法时,了解了它的大O表示法会对我们大有益处。(一般情况下用处不大,但了解总是好的)

# 算法 :解决问题的方法
# 抽象 :什么是整数 ,什么是平方
# 接口: 起交互作用 interface
import math

a = math.sqrt(16)  # sqrt 求平方根的  4的平方得16
print(a)
# 算法分析关心得是 基于所用的计算资源比较算法  : 使用的空间和内存  多占点内存没事  快就完了
# 基准分析: 用 调用time
import time


def sum(n):
    start = time.time()
    sum = 0
    for i in range(1, 1 + n):
        sum += i
    end = time.time() - start
    return sum, end


for i in range(1):
    result, ruantime = sum(100000)
    print(result, '时间', ruantime)


def sumofn(n):
    star = time.time()
    s = n * (n + 1) / 2
    end = time.time() - star
    return s, end


print(sumofn(100000))  # 直接公式法用时很短


#  大O表示法:  数量级常被称为大O表示法  近似表达的一种算法 :记作 O(f(n))
# 大O表示法的样子为 O(操作数)
# 大O表示法指出了算法的速度有多快
# 它的好处在于,当我们引用别人的算法时,了解了它的大O表示法会对我们大有益处。(一般情况下用处不大,但了解总是好的)

 

以上是关于初级算法:大O表示法的主要内容,如果未能解决你的问题,请参考以下文章

大O表示法

从0到1学算法大O表示法

掌握这几个算法题.NET初级面试算法不发愁

算法图解之大O表示法

复盘笔记二分查找和大O表示法

算法复杂度表示(大O表示法)