C数据结构与算法-算法复杂度
算法复杂度分为时间复杂度T(n)和空间复杂度F(n)
时间复杂度:也就是执行算法程序所需的时间,与硬件的速度、编程语言的级别、编译器的优化、数据的规模、执行的频度有关,前三个有很大的不确定性,所以衡量指标只要是后两者即算法的时间复杂度是数据规模n的函数。T(n)=O(F(n)),其中O表示同阶,即当n趋近无穷大是T(n)与F(n)的比值是个不为0的常数,也就是渐进时间复杂度。按照时间复杂度量级递增顺序为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、k次方阶O(n^k)、指数阶O(2^n)。
空间复杂度:即所占的内存,与算法程序所占空间,输入数据所占空间、运行程序所占时间有关。通常采用压缩存储技术。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?