时间复杂度和大O表示法

 

大O表示法:称一个函数g(n)是O(f(n)),当且仅当存在常数c>0和n0>=1,对一切n>n0均有|g(n)|<=c|f(n)|成立,也称函数g(n)以f(n)为界或者称g(n)受限于f(n)。记作g(n)=O(f(n))。 定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数。T(n)称为这一算法的“时间复杂度”。当输入量n逐渐加大时,时间复杂度的极限情形称为算法的“渐近时间复杂度”。

 

 一些常见的大O运行时间
•O(logn),也叫对数时间,这样的算法包括二分查找。
•O(n),也叫线性时间,这样的算法包括简单查找。
•O(n*logn),这样的算法包括第4章将介绍的快速排序——一种速度较快的排序算法。
•O(n2),这样的算法包括第2章将介绍的选择排序——一种速度较慢的排序算法。
•O(n!),这样的算法包括接下来将介绍的旅行商问题的解决方案——一种非常慢的算法。

 

 

posted @   草木物语  阅读(1190)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示