当前位置: 首页 > news >正文

软设之算法的效率

算法的效率分为时间复杂度和空间复杂度。

空间复杂度是指对一个算法在运行过程中临时占用存储空间大小的度量。一个算法的空间复杂度只考虑在运行过程中为局部变量分配的存储空间的大小。说白了,就是空间换时间。

比如说计算从1+2+3+……+100的和。一个算法是i=(1+100)*100/2。另外一个算法是用for循环。前者只计算了1次,后者需要计算100次,前者更快。

时间复杂度指的是一种算法,以该操作的重复执行次数作为算法的时间度量。

时间复杂度用O表示。

时间复杂度是用渐进时间复杂度计算的,一个算法随着运算次数n增加,影响因素主要是n的次方决定,其他的常数影响很小。

比如单个控制语句,时间复杂度是O(1)

如果程序语句有一层循环,时间复杂度是O(n)

如果有两层嵌套循环,时间复杂度是O(n^2)

如果有a层循环,时间复杂度是O(n^a)

比如说是二叉树二分查找,时间复杂度是O(log(2)n)

比如说是堆排序,时间复杂度就是O(nlog(2)n)

比如说是判断是否包含指定子序列,最长公共子序列,钢管切割问题,动态规划法自顶向下,时间复杂度是O(2^n)

http://www.lryc.cn/news/358528.html

相关文章:

  • 前端开发(2)--HTML常用的标签
  • 任何图≌自己这一几何最起码常识推翻直线公理让R外标准实数一下子浮出水面
  • js 纯前端实现数组分页、列表模糊查询、将数组转成formdata格式传给接口
  • elasticsearch有什么用
  • iOS自动连接已知Wi-Fi功能的实现
  • 编辑任何场景! 3DitScene:通过语言引导的解耦 Gaussian Splatting开源来袭!
  • CCIG 2024:合合信息文档解析技术突破与应用前景
  • 关于TeamSpeak3-网易音乐机器人的基础使用方法(胎教级教程)
  • 看广告赚金币提现小游戏app开发源码
  • 【vue】@、@/、../和./的区别
  • imx93 uboot 构建
  • 视觉SLAM十四讲:从理论到实践(Chapter7:视觉里程计1)
  • c++指针的*
  • 快团团大团长帮卖团长团长如何获得物流查询码?
  • MySQL(二)基本SQL语句以及基本函数应用
  • fyne apptab布局
  • Python实现定时任务的方式
  • 微信小程序-网络数据请求(配置request合法域名)
  • 栈和队列题目练习
  • 【排列问题】
  • token 无感刷新
  • Netty SSL双向验证
  • 4.nginx反向代理、负载均衡
  • 浅谈申请小程序地理位置权限的正确打开方式
  • make modules 和 make modules_install
  • docker 安装mysql,redis,rabbitmq
  • Windows配置java环境JDK
  • 英伟达驱动重装教程
  • 【蓝桥杯嵌入式】 第六届国赛
  • 图片裁剪与上传处理方案 —— 基于阿里云 OSS 处理用户资料