扫码阅读
手机扫码阅读
那些年忽略的知识:时间复杂度和空间复杂度详解

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

熊泽有话说
扫码关注公众号
概述
文章讲述了作者在学习和理解算法的时间复杂度与空间复杂度的过程。作者通过回答学妹的问题,意识到自己对于复杂度的概念理解模糊,因此查阅资料进行复习总结。
时间复杂度
时间复杂度是衡量算法执行时间增长趋势的一种标准,常用大O表示法表示。文章通过一个具体代码例子介绍了如何推导时间复杂度。时间复杂度的常用类别包括:
- O(1) - 常数阶:无循环递归,执行次数固定。
- O(n) - 线性阶:一层循环,执行次数随n变化。
- O(n²) - 平方阶:双层循环,执行次数为n的平方。
- O(logN) - 对数阶:循环条件是乘法或除法的累积结果。
- O(nlogN) - 线性对数阶:线性与对数阶的结合。
时间复杂度的计算规则包括忽略常数、系数与低次项。
空间复杂度
空间复杂度衡量算法的存储空间增长趋势。常见空间复杂度有O(1)、O(n)、O(n²),主要依据算法中临时变量的数量和是否随输入数据的大小线性增长来判断。
总结
通过重新梳理,作者对时间复杂度和空间复杂度有了更深的理解,能够在编写代码时预估算法的效率。
参考资料
- 百度百科:对数公式
- 如何理解时间复杂度和空间复杂度:https://www.cnblogs.com/magicg/p/15178750.html
- C#算法的时间复杂度和空间复杂度:https://blog.csdn.net/q_17600689511/article/details/100189543
- c#算法时间复杂度 面试必看:https://blog.csdn.net/weixin_44370124/article/details/119321322
想要了解更多内容?

熊泽有话说
扫码关注公众号
熊泽有话说的其他文章
30分钟学会Docker里面开启k8s(Kubernetes)登录仪表盘(图文讲解)
Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。\x0ak8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
10分钟简单学习net core集成jwt权限认证,快速接入项目落地使用
“ 业精于勤,荒于嬉;行成于思,毁于随。”目录什么是JWTJSON Web令牌能做什么?JSON Web令牌
使用css样式盘点最近App首页、网站首页变灰色的几种方式
CSS样式把app、网页置灰色的几种方法,简单快捷。
SqlServer视图——视图的创建与使用
目录 什么是视图?视图的概述视图的概念视图的特点使用视图的注意事项视图的用途手动创建视图代码创建视图使用T-
jQuery验证码合集:随机字符、滑块、拼图、图片旋转角度、文字顺序点选、公式计算、图片对象识别集合(演示地址+下载地址)
验证码:全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在
加入社区微信群
与行业大咖零距离交流学习


PMO实践白皮书
白皮书上线
白皮书上线