学习记录2复杂度的渐进表示
复杂度的渐进表示法
O(f(n))用于表示某种上界,存在Ω(f(n))用于表示某种下界,还会出现上下界等价的情况
上下界不是唯一的,分析算法的效率通常是希望上届或下届与真实情况能够贴近,所以我们找以我们的能力允许找到的最大或最小
不同函数的复杂度
在设计算法时千万要尽量降低复杂度,可以用低复杂度去代替高复杂度的函数,以提高算法的效率
复杂度分析小窍门
知道两段算法的上界,那两段算法的总时间T1(n)+T2(n) = max(O(f1(n)),O(f2(n))),上界就是复杂度高的哪一个;当两个算法嵌套起来时,总时间T1(n)T2(n) = O(f1(n)f2(n)),上界就是它们上界的乘积;n的k阶多项式,起作用的就是最大的那一项nk;for循环的时间复杂度(T(n))(/font)等于循环次数乘以循环体代码的复杂度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现