数据结构复习

数据结构第一课上半节O(1)和O(n)

声明:个人学习,复现代码,不存在商业用途,如果涉嫌侵权,请作者联系我。

1.1 时间复杂度

O(1)和O(n)

来源:时间复杂度学习链接

Q2:下面四组代码,哪组代码运行时间最短:

print( 'Hello World')

for i in range(n):
    print('Hello World')

for i in range(n):
    for j in range(n):
        print('Hello World')
    
    
for i in range(n):
    for j in range(n):
        for k in range(n):
            print('Hello World')

Q2:用什么方式来体现算法运行的快慢?

计算机领域使用 O 来表示估计,大约

Q2.1:类比生活中的一些事件,估计时间?

* 眨一下眼睛	一瞬间/几毫秒
* 口算’29+68‘    几秒
* 烧一壶水         几分钟
* 睡一觉              几小时
* 完成一个项目    几天/几星期/几个月
* 飞船从地球飞出太阳系    几年
print( 'Hello World')

==> 该时间复杂度,我们定义成O(1)

for i in range(n):
    print('Hello World')
    
==> 该时间复杂度,我们定义为O(n)
for i in range(n):
    for j in range(n):
        print('Hello World')
        
==> 该时间复杂度,我们定义为O(n**2)
for i in range(n):
    for j in range(n):
        for k in range(n):
            print('Hello World')
==> 该时间复杂度,我们定义为O(n**3)

小节练习:

print('Hello World')
print('Hello Python')
print('Hello Algorithm')





'''
上面三个print语句联立输出,时间复杂度是多少:
答案:O(3)

'''


for i in range(n):
    print('Hello World')
    for j in range(n):
        print('Hello World')

'''
上面三个print语句联立输出,时间复杂度是多少:
答案:O(n**2 + n) 

'''


'''
上述答案有误,类比:
我们不能说,煲水三个壶要三个几分钟。
我们通常说,同时煲三壶水需要几分钟。
因此,三个print()联立:时间复杂度为  o(1)

你睡一觉多长时间:一般都是大概,或者几个小时,不会给出具体的时分秒
for i in range(n): =>即 一个 O(n)
两个就是 =》 O(n **2)  
中间出现的 print() 其实都是0(1)
所以在 O(n)级别上看,0(1)很小。

类比于:煲水几分钟,
睡觉几小时,但是多了少了几分钟,在睡觉这个时间级别来看,啥也不是。

真正答案: o(1)  和 O(n**2)

'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值