• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gaohuan30
博客园    首页    新随笔    联系   管理    订阅  订阅
时间复杂度

  O后面的括号中有一个函数指明某个算法的耗时/耗空间与数据增长量之间的关系。其中n代表输入数据的量

  O(1)-就是最低的时间复杂度

    例子:哈希算法,无论数据规模多大,都可以在一次计算后找到目标(不考虑哈希冲突)

  O(n)-代表数据量增大n倍,耗时也增大n倍(线性)

    例子:找到一个数组里最大的数,需要把n个变量都扫一边,操作次数也为n

  O(n^2)-代表数据量增大n倍时,耗时增大n^2倍

    例子:冒泡排序-对n个数排序,需要扫描n^2次

  O(log n)-当数据增大n倍时,耗时增大log n倍,(这里log是以2为底,当数据增大256倍,耗时只增大8倍)

    例子:二分查找就是

  O(n log n)-就是n乘以logn,当数据增大256倍时,耗时增大256*8 = 1028倍,这个复杂度高于线性低于平方

    例子:归并排序

 

posted on 2019-11-02 19:09  gaohuan30  阅读(214)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3