算法效率
2022/5/4 17:12:57
本文主要是介绍算法效率,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
算法的效率
影响因素
- 算法采用的策略和方案
- 编译产生的代码质量
- 问题的输入规模
- 机器执行指令的速度
算法时间复杂度 T(N)
**T(N) = O(f(n))** 表示随着问题规模 n 的增大, 算法执行时间的增长率和 f(n) 的增长率相同, 称作算法的渐进时间复杂度, 简称时间复杂度 一般来讲, 随着输入规模 n 的增大, T(n) 增长最慢的算法为最优时间算法 推导攻略: - 用常数 1 取代运行时间中的所有加法常数 - 在修改后的运行次数函数中, 只保留最高阶项 - 如果最高阶项存在且不是 1, 则去除与这个项相乘的常数 常见时间复杂度比较: O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
算法的空间复杂度 S(n)
S(n) = O(f(n)) n 为问题的规模, f(n) 为语句关于 n 所占存储空间的函数 通常 “时间复杂度” 用来来指运行时间的需求; “空间复杂度” 用来指空间需求
这篇关于算法效率的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南