码迷,mamicode.com
首页 > 其他好文 > 详细

遇见的题目——关于时间复杂度

时间:2020-03-09 18:13:24      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:算法   科学家   问题   16px   col   for循环   基本语句   一般来说   循环语句   

在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是:

 

第一个for循环的时间复杂度为Ο(n),第二个for循环的时间复杂度为Ο(n²),则整个算法的时间复杂度为Ο(n+n²)=Ο(n²)。

  注、加法原则:T(n)=O(f(n))+O(g(n))=O(max(fn,gn))
 
  常见的算法时间复杂度由小到大依次为:
 
  Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n²)<Ο(n³)<…<Ο(2^n)<Ο(n!)<O(n^n)
 
Ο(1)表示基本语句的执行次数是一个常数,一般来说,只要算法中不存在循环语句,其时间复杂度就是Ο(1)。Ο(log2n)、Ο(n)、Ο(nlog2n)、Ο(n2)和Ο(n3)称为多项式时间,而Ο(2n)和Ο(n!)称为指数时间。计算机科学家普遍认为前者是有效算法,把这类问题称为P类问题,而把后者称为NP问题。

遇见的题目——关于时间复杂度

标签:算法   科学家   问题   16px   col   for循环   基本语句   一般来说   循环语句   

原文地址:https://www.cnblogs.com/666wolaichaungmen/p/12449894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!