复杂度简介

本文详细解释了如何通过时间复杂度和空间复杂度评估算法效率,介绍了大O的渐进表示法以及如何考虑最坏情况。特别强调了时间复杂度的计算需注重算法思想而非仅看代码循环,空间复杂度在大多数情况下较不关键,主要关注程序的存储需求。
摘要由CSDN通过智能技术生成

1.复杂度

如何判断一个算法的好坏?

可根据算法的复杂度来判断,复杂度可以分为:时间复杂度、空间复杂度

1.1时间复杂度

时间复杂度在本质上其实是一种数学函数,实际上是一种估算,与硬件无关,

1.1.1大O的渐进表示法

内核用到极限抓大头的方法,如果是未知量,则看影响未知量的大小最大的数,如O(N^2+N)这可近似为O(N^2),而若N为常数则为O(1);此时O(1)并非是1次,而是常数次,无论是100或者10000000都是常数次;

1.1.2时间复杂度的取值

如果结果未知,时间复杂度取最坏的结果。

注意:时间复杂度的计算不能光看代码中的循环,要看思想灵活计算

1.2空间复杂度

通常不重要,与程序占用空间有关系,一般不会超过O(N)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值