时间复杂度和空间复杂度

文章探讨了时间复杂度和空间复杂度的概念,用于评估算法效率。时间复杂度关注执行时间,如排序的O(N^2)复杂度和二分查找的O(logN)复杂度。空间复杂度则关注算法运行时的内存占用。在分析时,通常考虑最坏情况,并忽略较小的因素。
摘要由CSDN通过智能技术生成

时间复杂度和空间复杂度都用 O( )来表示。

 

时间复杂度:指在计算机科学与工程领域完成一个 算法 所需要的时间,是衡量一个算法优劣的重要 参数 。 时间复杂度 越小,说明该 算法 效率越高,则该算法越有价值。

简单讲,时间复杂度就是程序跑了多少次,但计算时间复杂度往往不需要精确的算出程序跑的次数

1.

 如果没有说明N和M的大小,则时间复杂度为O(M+N)

2.

如果题目有特意说M和N的大小,则如下图

假如M远小于N,那么M就没必要计入时间复杂度(因为时间复杂度的计算只需要计算大概)

3.

做最坏打算!!

 

 

 4.

排序次数:

N-1

N-2

N-3

......

1

准确:等差数列之和,N*(N-1)/2

时间复杂度:O(N^2)

5.

二分查找的时间复杂度

最好情况:只找了1次,O(1)

其他情况:假设找了X次才找到,总共有N个数,而每一次查找都会使N/2,除以X次2。

所以N/(2^X) == 1,1代表找得只剩下一个数了,该数就是我们要找到数或没找到

由上式得,

 

故时间复杂度为O(log2(下)N(上))

6.

 

 

7. 

如图,可以看作右边的分支远小于左边的,于是以左边的次数为主(也就是每次递归的 Fib(n-1) )

 

 

 

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

也就是额外占用的空间

1.

2.

 

 

 3.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值