数据算法与结构(一)

时间复杂度&空间复杂度

前言:空间复杂度与时间复杂度是数据结构的复杂度,在现在储存设备越来越便宜的时代,时间复杂度是决定程序运行速度的重要因素。
算法时间复杂度是衡量计算性能的指标,反映了程序执行时间随着输入规模的增长而增长的量级,很大程度的反映出算法性能的好坏,这个量级用大写的O加()表示

时间复杂度

print("Hello world")


for i in (n):
    print("Hello world)


for i in (n):
    for j in (n):
        for k in (n):
            print("Hello world")
    

时间复杂度的概念:方便开发者估算运行一段代码所需要的时间。

大O的含义:大O用来表示上界的,当用它作为算法的最坏情况运行时间的上界,就是对任意数据输入的运行时间的上界。

第一个代码时间复杂度为O(1),1大约可以理解为一个时间单位,可以理解为运行一次

第二个代码时间复杂度为O(n),n代表着循环n次,单位可以理解为n,输入数据增大几倍,时间复杂度对应增大几倍。

第三个代码时间复杂度为O(n^3),循环里面套循环,可以理解为循环与循环相乘,但要注意输入数据的大小,输入数据增大几倍,时间复杂度对应增大n的立方倍

补充:打印一次和3次甚至十几次,时间差别不大,就可以理解为单位时间1。可以理解为量变未引起质变。第二个同理可以理解为只要大概时间,而忽略“细枝末节”,就好比可以把一个小时几分钟大约看成一个小时。

参考文章 


空间复杂度 

空间复杂度的概念:是对一个算法在运行过程中临时占用存储空间大小的量度。

时间复杂度和空间复杂度表示方法完全一样。

一个长度为n的列表,n不同占用内存也不同。

 

ps:为了打蓝桥杯,而学的代码和算法(希望能获奖),每天坚持刷题和更新结构与算法,code新手,如有不足请各位大佬多多指正(手动狗头)

共勉一句话:

你主要的问题在于读书太少而想得太多。——杨绛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值