zoukankan      html  css  js  c++  java
  • 时间复杂度

    时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。

    一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。

    我们可以记住一句话,“算法中的基本操作的执行次数,为算法的时间复杂度”。那么,什么是基本操作呢:基本操作就是算法中的每一条语句,我们通常可以只考虑循环内的语句就行了(最内层循环里的语句)。

    OK,在我们的程序中,我们总能找到一个n,这个n是问题的规模,比如循环的次数,数组或者链表结构元素的个数等,而我们的时间复杂度就是关于这个问题规模n的函数T(n),T(n)实际上叫做“渐进时间复杂度”简称为时间复杂度。基本操作的执行次数f(n)。

    现在,我们要把T和f联系起来了:T(n)=O(f(n))。O是数量级的符号。一般而言呢,我们取f(n)中随n增大增长最快的项,然后将该项的系数变为1。

    举个例子来说:f(n)=3n4+2n2+1,那么T(n)=O(f(n))=O(n4)。

    再来回顾一下:算T(n)=>找出基本操作,确定问题的规模n=>计算基本操作执行次数f(n)=>得出T(n)

  • 相关阅读:
    2016/3/28 大三下第一月
    hihoCoder1284机会渺茫(唯一分解定理 + 约分)
    瞬沐队小组会议
    本周编程
    团队简介及团队课题
    本周编程
    Python环境的配置
    疫情图表
    本周编程
    返回一个数组中和最大的子数组
  • 原文地址:https://www.cnblogs.com/helo-blog/p/3754504.html
Copyright © 2011-2022 走看看